leetcode 9:Palindrome Number

来源:互联网 发布:华硕路由器80端口 编辑:程序博客网 时间:2024/06/07 10:19

题目:
Determine whether an integer is a palindrome. Do this without extra space.

想法:
题目说不能有额外的空间,其实意思是空间是O(1)的。所以不能将int类型转换为string类型再判断。我们的方案是每次首尾比较用div控制,还有就是负数不是回文数。

解答:

class Solution {public:    bool isPalindrome(int x) {        if (x < 0)            return false;        int div = 1;        while(x/div >= 10){            div *= 10;        }        while(x){            int l = x / div;            int r = x % 10;            if (l != r)                return false;            x = (x % div) / 10;            div /= 100;        }        return true;    }};
0 0
原创粉丝点击