leetcode第9题
- 题目:Determine whether an integer is a palindrome. Do this without extra space.
- 解析:判断一个数字是否是回文数,即如123321,98789类似的数字,首先负数不是回文数,以0结尾的非负数不是回文数,对于一般的非负数字,只需要将整个数字反转判断是否相等即可,但是一个int类型反转有可能会溢出,这里用到了一个技巧,即反转一半,如123321反转一般,剩下的为123,得到的为123,相等就是回文数字,对于12321,反转后为12,得到的是123,如何判断呢,只需要将得到的除以10就可以判断啦,若想等极为回文数,代码如下,运行时间60ms。
1 | bool isPalindrome(int x) |