LeetCode(7)Reverse Integer

bool overflow(int x){if (x / 1000000000 == 0) // x的绝对值小于1000000000, 不越界{return false;} else if (x == INT_MIN) // INT_MIN反转后越界,也没法按下述方法取绝对值(需要特判),直接返回true{return true;} x = abs(x);// x = d463847412 -> 2147483647. (参数x,本身没有越界,所以d肯定是1或2)// or -d463847412 -> -2147483648. for (int cmp = 463847412; cmp != 0; cmp/=10, x/=10){if ( x%10 > cmp%10 ){return true;} else if (x%10 < cmp%10){return false;}}return false;}AC代码:

class Solution {public:int reverse(int x) {if( overflow(x) == true){return 0;}int result = 0;while (x!=0){result = 10*result + x%10;x /= 10;}return result;}private:bool overflow(int x){if (x / 1000000000 == 0) // x的绝对值小于1000000000, 不越界{return false;} else if (x == INT_MIN) // INT_MIN反转后越界,也没法按下述方法取绝对值(需要特判),直接返回true{return true;} x = abs(x);// x = d463847412 -> 2147483647. (参数x,,本身没有越界,所以d肯定是1或2)// or -d463847412 -> -2147483648. for (int cmp = 463847412; cmp != 0; cmp/=10, x/=10){if ( x%10 > cmp%10 ){return true;} else if (x%10 < cmp%10){return false;}}return false;}};

鱼儿爱美,不仅需要鳞甲之美。还需要浮沉活泼之美。

LeetCode(7)Reverse Integer

相关文章:

你感兴趣的文章:

标签云: