美文网首页
9_palindrome_number 回文数

9_palindrome_number 回文数

作者: lazy_ccccat | 来源:发表于2020-02-29 11:57 被阅读0次

题目描述

9. 回文数

思路

这个题没做出来,其实思路也有就是不知道怎么转化成代码。
举个例子 x=1221, 最左边1 == 最右边1,然后删掉最左最右,看22,直到x为0。中途只要出现过最左最右不相等,return false。不要忘了负数一定return false。
我卡住的地方在于,x=1221不知道怎样获得最高位。以及,循环中不知道怎样删掉最左最右拿到剩下的数。看看代码记住吧,算是个技巧。

代码

class Solution {
public:
    bool isPalindrome(int x) {
        if (x < 0) return false;
        int div = 1;
        while (x/div > 9) div = div * 10;
        while (x > 0) {
            int left = x / div;
            int right = x % 10;
            if (left == right) {
                x = (x % div) / 10;
            } else {
                return false;
            }
            div = div / 100;
        }
        return true;
    }
};

相关文章

网友评论

      本文标题:9_palindrome_number 回文数

      本文链接:https://www.haomeiwen.com/subject/tqtphhtx.html