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

[LeetCode]Palindrome Number

时间:2015-01-31 12:31:11      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:palindrome number   回文数   

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

这道题也是基础题,判断一个数是否是回文数,条件是不能使用额外的空间,意思就是说,你不能把一个Intege转换成string,然后对string进行回文字符串的判断。

另外,如果用Reverse Integer的方法,可能会造成数值溢出,比如判断1423568769是否是回文数,反转之后就是9678654321,超出INT_MAX,溢出。

最后,回文数不包含负数。

我的思路是:(对非负数的处理)

不断X对10取余,直到X为0;迭代的过程中将结果乘10,并加上下一次的余数。最后得到的结果与原X比较,相等则为回文数,否则不是。

class Solution {
public:
    bool isPalindrome(int x) {
        if (x < 0)
			return false;
		x = abs(x);
		int xxx = x;
		int xx = 0;
		while (x != 0){
			xx = xx * 10 + x % 10;
			x = x / 10;
		}
		if (xxx == xx)
			return true;
		else
			return false;
    }
};


[LeetCode]Palindrome Number

标签:palindrome number   回文数   

原文地址:http://blog.csdn.net/kaitankedemao/article/details/43339443

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