leetcode 7 Reverse Integer

Reverse digits of an integer.
Example1:x = 123, return 321Example2: x = -123, return -321
click to show spoilers.
Note:
The input is assumed to be a 32-bit signed integer. Your function should **return 0 when the reversed integer overflows.

Subscribe to see which companies asked this question.

这个题讨厌的地方就是判断溢出,开始的想法是想着找到c语言最大的数值然后进行比较,后来发现不行,大概是因为原来不是溢出的后来反转之后就溢出了?

int reverse(int x) {
    int y = 0;
    while(x != 0){
        int z = y * 10 + x % 10;
        if(z/10 != y){
            return 0;
        }
        y = z;
        x = x/10;
    }
    return y;
}

这个题之前就做过也查到过别人的做法,所以也没有什么自己的想法,就记录一下再次写的菜问题吧。

1:

while这个里面的条件,一开始写了x%10 != 0; 输入为100,这种10的整数倍就不行了,想了一下改为了现在这个

2:

这个➗10的是之前看别人的做法。验证了一下溢出的确实是➗后不相等不知道为啥,而且想到了/10也忘了怎么放进去了。下次再做一遍吧

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容