首页 > 代码库 > [LeetCode]Palindrome Number
[LeetCode]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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。