LeetCode题解——Palindrome Number

题目

判断一个数字是不是回文数字,即最高位与最低位相同,次高位与次低位相同,...

 

解法

求出数字的位数,然后依次求商和求余判断是否相等。

 

代码

 1 class Solution {  2 public:  3     bool isPalindrome(int x) {  4         if(x < 0)  //负数有符号,肯定不是回文数  5             return false;  6         

 7         int d = 1;  8         while(x / d >= 10)  //d与x位数相同  9             d *= 10; 10         

11         while(x) 12  { 13             if(x/d != x%10)  //比较最高位和最低位是否相等 14                 return false; 15             x = x % d / 10;  //去掉最高位和最低位 16             d /= 100;         //d相应转换 17  } 18         

19         return true; 20  } 21 };

 

你可能感兴趣的:(LeetCode)