Leet Code 9 Palindrome Number
2015-09-09 08:02
274 查看
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.
【算法思路】
1. 简单粗暴,但是其实利用了多余的空间,因为把int转换为string的时候需要额外的空间。
2. 对于数字的题目经常使用 / %。不断地取第一位和最后一位(10进制下)进行比较,相等则取第二位和倒数第二位,直到完成比较或者中途找到了不一致的位。
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.
【算法思路】
1. 简单粗暴,但是其实利用了多余的空间,因为把int转换为string的时候需要额外的空间。
public boolean isPalindrome(int x) { if(x < 0) { return false; } if(x < 10 && x > 0) { return true; } return (new StringBuilder(String.valueOf(x)).reverse().toString().equals(String.valueOf(x))); }
2. 对于数字的题目经常使用 / %。不断地取第一位和最后一位(10进制下)进行比较,相等则取第二位和倒数第二位,直到完成比较或者中途找到了不一致的位。
public boolean isPalindrome(int x) { //negative numbers are not palindrome if (x < 0) return false; // initialize how many zeros 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; }
相关文章推荐
- 2015-9-9
- ios-音频播放-短视频加载-封装工具类
- 私人通讯录(自己也做了一份,但是转载的这个主要是总结的比较到位)
- First Bad Version
- 自定义View-----汽泡效果
- Find Minimum in Rotated Sorted Array II
- poj 1008 Maya Calendar
- BZOJ 1502 [NOI2005]月下柠檬树 自适应Simpson积分
- MogileFS系统简单配置实例
- GHOSTXPSP3电脑爱好者V9.9美化修正版
- ps知识总结
- Find Minimum in Rotated Sorted Array
- 安卓四大组件学习之Service
- UVa 661 - Blowing Fuses
- view.scrollto
- 东邪西毒经典台词
- Leetcode Implement Queue using Stacks
- 一生一世高圆圆经典台词
- 山楂树之恋台词
- Contains Duplicate