Determine whether an integer is a palindrome. Do this without extra space.
思路:若使用【Leetcode】Reverse Integer 的方法。推断反转后的整数是否与原整数同样,则可能出现溢出情况;又由于题目要求不适用额外空间,能够之间对照整数第一个与最后一个数的值。再依次类推。
class Solution { public: bool isPalindrome(int x) { if(x < 0) return false; int bitNum = 0; int temp = x; while(temp != 0) { temp /= 10; bitNum++; } for(int i = 1; i <= bitNum / 2; i++) { if((x / (int)pow(10, bitNum - i)) % 10 == (x % (int)pow(10, i)) / (int)pow(10, i - 1)) continue; else return false; } return true; } };
版权声明:本文博主原创文章,博客,未经同意不得转载。