码迷,mamicode.com
首页 > 其他好文 > 详细

Palindrome Number

时间:2014-08-09 18:37:28      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   div   log   不同的   on   

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

按照palindrome的定义,负数一定不是palindrome number。而且palindrome number肯定是沿着中轴(可能为一个数或者两个相同的数,因一个数中数字的个数有关)对称的。所以很自然的想到分别比较数字的第一位数和最后一位数,第二位数和倒数第二位数,依次类推。如果有不同的,变返回false。但这里有个限制条件是without extra space,我以为是不能用任何额外的变量,所以在这个地方卡了很久。之后看网上答案,用了一个额外的变量来记录x的量级,对题目中要求的理解是关键啊。

 1 class Solution {
 2 public:
 3     bool isPalindrome(int x) {
 4         if(x < 0) return false;
 5         int d = 1;
 6         while(x/d >= 10) d *= 10;
 7         while(x > 0){
 8             if(x/d != x%10) return false;
 9             x = (x%d)/10;
10             d /= 100;
11         }
12         return true;
13     }
14 };

 

Palindrome Number,布布扣,bubuko.com

Palindrome Number

标签:style   blog   color   io   div   log   不同的   on   

原文地址:http://www.cnblogs.com/Kai-Xing/p/3901392.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!