LeetCode 9. Palindrome Number

参考了孙佰贵的题解

比较数字的最高位和最低位,若不等,返回false;

反之,去掉数字的最高位和最低位,开始新的迭代。


代码:

class Solution 
{
public:
    bool isPalindrome(int x) 
    {
        if (x < 0)
        {
        	return false;
        }

        int rightmost = 1;
        for (int copy = x/10; copy>0; copy/=10, rightmost*=10) {}
        while (x != 0)
        {
        	if (x/rightmost != x%10)
        	{
        		return false;
        	} else
        	{
        		x = (x%rightmost)/10; // cut off the rightmost and leftmost digits
           		rightmost /= 100;
        	}
        }    		

        return true;
    }
};


你可能感兴趣的:(LeetCode,C++,Palindromic)