关闭

leetcode 9 Palindrome Number C++

标签: LeetCode
150人阅读 评论(0) 收藏 举报
分类:

注意几个点,不能是负数,不用额外的空间。

思路就是让数字的第一个数和最后一个数比较。然后去掉头和尾。

再继续。

不用担心00002这样的情况,因为不影响计算。

    bool isPalindrome(int x) {
        if (x<0) return false;
        if (x>=0&&x<10) return true;
        
        int len = 1;
        int tmpX = x;
        
        while((tmpX=tmpX/10)>0){
            len *= 10;
        }
        
        while(len >= 10){
            int head = x/len;
            int tail = x%10;
            if(head != tail) return false;
            x = x - len*head;
            len /= 100;
            x = x / 10;
        }
        return true;
    }


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:74141次
    • 积分:2513
    • 等级:
    • 排名:第15429名
    • 原创:178篇
    • 转载:42篇
    • 译文:0篇
    • 评论:13条
    文章分类
    最新评论