题解 | NC57反转数字

反转数字

http://www.nowcoder.com/practice/1a3de8b83d12437aa05694b90e02f47a

NC57: 反转数字

分析:coding之前,我们应该明确的几点。

1.什么是数字的反转?
这一点结合题意与测试用例已经很明确,不再赘述。
2.关于数据范围?
一个32为有符号整数:
图片说明
不同语言对边界的处理不同,详见参考代码。

解法一:数学

思路:要将数字倒序进行展示,要做的就是获取到每一位上面的单个数字。方法很简单,将目标数字%10即可。
比如:对于数字123,按照如上思路可以这样写:

  • 123 % 10-->3
  • 12 % 10 -->2
  • 1 % 10-->1
    那么问题来了,怎么从让数字从百位降到十位,甚至其他位数呢?
    有一个很简单的技巧,将目标数字/10即可(别忘了编程语言的除法特性)。
    综合以上的作除与取模运算,可以得到:
    图片说明

Java参考代码

import java.util.*;


public class Solution {
    /**
     * 
     * @param x int整型 
     * @return int整型
     */
    public int reverse (int x) {
         long n=0;
        while (x!=0){
            n = n*10+x%10;
            x = x/10;
        }
//三元表达式并强转
        return (int)n==n?(int

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

小白专属-牛客题解 文章被收录于专栏

专注于牛客平台编程题题解,文字+图解。内容很细,小白友好系列

全部评论
这么喜欢用long?不看题目说明?
1 回复 分享
发布于 2022-05-24 17:54

相关推荐

阿武同学:基本信息保留前面三行,其他的可以全部删掉,邮箱最重要的你没写,主修课程精简到8个以内,实习里面2/3/4都是水内容的,非要写的话建议两到三句话,项目经历排版优化下,自我评价缩到三行
点赞 评论 收藏
分享
09-16 14:43
已编辑
江娱互动_研发_客户端开发
背景 双一流本硕 双非大圆满 只找游戏开发相关的岗位。 8 月初开始秋招到现在 投了四五十家吧, 目前两 offer, 不打算继续投了,把剩下的流程走完就开始沉淀了。目前两 offer 一个是网易互娱测开 base 广州,一个是江娱互动客户端开发 base 北京。应该确定网易这个了,说实话北京这个我挺想去的,这家的产品和工作氛围我了解了也不错,是那种踏实做事的,可惜我是广东人。网易的测开是调剂的二志愿,看了下有内部转岗机会,所以打算后面找个时间提前实习,沉淀下再做一个 demo 作品,写一些 shader,增强下图形学渲染的能力,再学点编辑器开发。看到时候内部转岗或者春招继续投客户端开发这样。后面还能再动摇的话应该就灵犀或者腾子了吧(假如这两家确认的是客户端开发岗的话)。-----------------------补下timeline网易互娱 测开 8.2笔试  8.21 技术面  8.29 leader&HRBP面(终面) 9.8 录用审核(之前一直显示面试中)9.14 oc江娱互动 客户端开发 8.29主程面 9.3 制作人面 9.5 BOSS面 9.11 口头OC 9.15 正式offer后面考虑了一下  感觉还是能走开发就开发吧,测开不太感兴趣,要内部活水转岗还要满1年才能申请。。
点赞 评论 收藏
分享
评论
8
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务