LeetCode 7. 整数反转
Posted 咸鱼の小窝
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 7. 整数反转相关的知识,希望对你有一定的参考价值。
题意
给出一个 32 位的有符号整数,将这个整数中每位上的数字进行反转。
思路
- 想法:保留符号直接翻转,注意防止爆int。时间复杂度(O(log_{10}(n)))。
- 吐槽:官方给的结果是如果爆了int则返回0。(是我眼了,题目中最下面的注意里写了。)
代码
class Solution {
public:
int reverse(int x) {
int revx = 0;
while(x)
{
int add = x % 10;
if(revx > INT_MAX / 10 || (revx == INT_MAX / 10 && add > 7)) return 0;
if(revx < INT_MIN / 10 || (revx == INT_MIN / 10 && add < -8)) return 0;
x /= 10;
revx = revx * 10 + add;
}
return revx;
}
};
总结
我爱水题。嗯。
以上是关于LeetCode 7. 整数反转的主要内容,如果未能解决你的问题,请参考以下文章
7. 反转整数 [leetcode 7: Reverse Integer]