[LeetCode] Palindrome Number 验证回文数字
2014-11-27 02:28
295 查看
Determine whether an integer is a palindrome. Do this without extra space.
click to show spoilers.
Some hints:
Could negative integers be palindromes? (ie, -1)
If you are thinking of converting the integer to string, note the restriction of using extra space.
You could also try reversing an integer. However, if you have solved the problem "Reverse Integer", you know that the reversed integer might overflow. How would you handle such case?
There is a more generic way of solving this problem.
这道验证回文数字的题不能使用额外空间,意味着不能把整数变成字符,然后来验证回文字符串。而是直接对整数进行操作,我们可以利用取整和取余来获得我们想要的数字,比如 1221 这个数字,如果 计算 1221 / 1000, 则可得首位1, 如果 1221 % 10, 则可得到末尾1,进行比较,然后把中间的22取出继续比较。代码如下:
LeetCode All in One 题目讲解汇总(持续更新中...)
click to show spoilers.
Some hints:
Could negative integers be palindromes? (ie, -1)
If you are thinking of converting the integer to string, note the restriction of using extra space.
You could also try reversing an integer. However, if you have solved the problem "Reverse Integer", you know that the reversed integer might overflow. How would you handle such case?
There is a more generic way of solving this problem.
这道验证回文数字的题不能使用额外空间,意味着不能把整数变成字符,然后来验证回文字符串。而是直接对整数进行操作,我们可以利用取整和取余来获得我们想要的数字,比如 1221 这个数字,如果 计算 1221 / 1000, 则可得首位1, 如果 1221 % 10, 则可得到末尾1,进行比较,然后把中间的22取出继续比较。代码如下:
class Solution { public: bool isPalindrome(int x) { if (x < 0) return false; int div = 1; while (x / div >= 10) div *= 10; while (x > 0) { int left = x / div; int right = x % 10; if (left != right) return false; x = (x % div) / 10; div /= 100; } return true; } };
LeetCode All in One 题目讲解汇总(持续更新中...)
相关文章推荐
- [LeetCode] 9. Palindrome Number 验证回文数字
- Palindrome Number 判断一个数字是否是回文数字@LeetCode
- leetcode——Palindrome Number 判断整数数字是否为回文(AC)
- Leetcode 9. Palindrome Number(判断回文数字)
- [Leetcode] valid palindrome 验证回文
- [Leetcode] valid number 验证数字
- [LeetCode] 回文数字 Palindrome Number
- LeetCode 9. Palindrome Number (回文数字)
- LeetCode 9 Palindrome Number(回文数字判断)
- Leetcode刷题记——9. Palindrome Number(回文数字)
- LeetCode 9. Palindrome Number(回文数字)
- LeetCode | Palindrome Number(回文数字)
- LeetCode 9 Palindrome Number 回文数字
- LeetCode—Palindrome Number 数字是否是回文数字
- Leetcode 125. Valid Palindrome 回文验证 解题报告
- [LeetCode 9] Palindrome Number -- 回文数字
- leetcode-9 Palindrome Number 回文数字
- leetCode 9.Palindrome Number (回文数字) 解题思路和方法
- [LeetCode] Valid Palindrome II 验证回文字符串之二
- 【Leetcode】回文数字Palindrome