[Easy]LeetCode第9题——回文数

83 阅读1分钟

题目链接

回文数

解法

一、字符串翻转操作

最简单直接的做法,就是把原字符串翻转一下进行比对,但速度稍慢。代码如下:

class Solution {
public:
    bool isPalindrome(int x) {
       string s = to_string(x);
       return s == string(s.rbegin(), s.rend());
    }
};

二、数学方法

在数学上将原数字倒过来比对,速度更快。

class Solution {
public:
    bool isPalindrome(int x) {
        if (x < 0) return false;//负数必然不回文
        long long y = 0, i = x;
        while (i) {
            y = y * 10 + i % 10;
            i /= 10;
        }
        return x == y;
    }
};