09 Palindrom number

1. 题目描述

判断一个整数是否是回文数

2. 题解

解法一:使用字符串

将给定的整数转成字符串,只需要这个字符串正序和逆序是否一样即可

无需考虑正负号和翻转整数溢出问题

class Solution {
public:
    bool isPalindrome(int x) {
        string s = to_string(x);
        string rev = s;
        reverse(rev.begin(), rev.end());
        return s == rev;
    }
};

解法二:将整数逆序输出

注意循环结束的条件 这样可以防止反转整数时溢出:

class Solution {
public:
    bool isPalindrome(int x) {
        if(x<0|| (x!=0 &&x%10==0)) return false;
        int sum=0;
        while(x>sum)//* nice!!!
        {
            sum = sum*10+x%10;
            x = x/10;
        }
        return (x==sum)||(x==sum/10);
    }
};

3. 视频讲解

<iframe frameborder="no" scrolling="no" src="//player.bilibili.com/player.html?aid=375073871&bvid=BV1XZ4y1c7kp&cid=321615604&page=1&as_wide=1&high_quality=1&danmaku=0" style="position: absolute; width: 100%; height: 100%; left: 0; top: 0"></iframe>

4. 总结

上一篇:数据分析与挖掘3——特征工程


下一篇:整数反转