Palindrome Number
Palindrome Number
问题:
Determine whether an integer is a palindrome. Do this without extra space.
思路:
常用的进制遍历方法
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
while(num != 0) { remian = num % 进制; num /= 进制; }
我的代码:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
public class Solution { public boolean isPalindrome(int x) { if(x < 0) return false; int reverse = reverse(x); return reverse == x; } public int reverse(int x) { int rst = 0; while(x != 0) { rst = rst * 10 + x % 10; x /= 10; } return rst; } }
他人代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | class Solution { public : bool isPalindrome( int x) { //negative number if (x < 0 ) return false ; int len = 1 ; while (x / len >= 10 ) len *= 10 ; while (x > 0 ) { //get the head and tail number int left = x / len; int right = x % 10 ; if (left != right) return false ; else { //remove the head and tail number x = (x % len) / 10 ; len /= 100 ; } } |
学习之处:
- 常见数字访问方法,while(num != 0) num /= 进制数
- 常用的进制增加方法, num = num * 进制 + some remain
posted on 2015-03-11 10:57 zhouzhou0615 阅读(132) 评论(0) 编辑 收藏 举报
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步