从0开始的LeetCode生活—9. Palindrome Number(回文数)

时间:2023-12-26 09:27:13

题目大意:

判断输入的数字是不是回文数。所谓回文数就是正反读都一样的数字,比如说11,121,1221这样子的数字。负数不会是回文数。

解题思路:

思路一:如果这个数是负数,则返回false,否则用一个变量记录这个数字你转后的数字,判断它和逆转前是否相等。

思路二:如果是负数或者这个数个位为0,则返回false(0除外,如果是0也返回true)。否则用一个数字记录它逆转的一半,与其另一半比较,查看是否相等。(考虑数字位数的奇偶性)

解决代码:

我只写了思路二的代码,因为相对思路二的效率比思路一高出一倍。

bool isPalindrome(int x){
    ||x!=&&x%==) return false;    //负数或者个位数为0
        ;    //记录逆转的一半
        while(x>sum){
            sum=sum*+x%;
            x/=;
        }
        ;    //包含数字位数是奇数和偶数的两种情况
}