#leetcode刷题之路9- 回文数

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

示例 1:
输入: 121
输出: true

示例 2:
输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。

示例 3:
输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。

思路:把数字倒序,然后进行比较

#include <iostream>


bool isPalindrome(int x) {
    if (x<0) return false;
    if (x >= 0 && x<10) return true;
    long temp = 0;
    int temp1 = x;
    while (x != 0)
    {
        temp = temp * 10 + x % 10;
        x /= 10;
    }
    //std::cout << temp << std::endl;
    if (temp1 == temp) return true;
    else return false;
}


int main() {
    int a = 2147483647;
    std::cout << isPalindrome(a) << std::endl;
    return 0;
}

执行用时: 260 ms, 在Palindrome Number的C++提交中击败了3.63% 的用户
内存消耗: 72.9 MB, 在Palindrome Number的C++提交中击败了0.54% 的用户

。。。,极慢。。。其实只需要前半部分和后半部分进行比较就行了,对整体进行比较就等于多运算了一半

原文地址:https://www.cnblogs.com/biat/p/10443645.html