leetcode 9. 判断整数是否是回数 Palindrome Number
来源:互联网 发布:ctr csm数据区别 编辑:程序博客网 时间:2024/06/05 10:49
Palindrome Number
Determine whether an integer is a palindrome. Do this without extra space.
注:回数是指正读和倒读都一样的数,如121,234432
解题分析:
需要注意点
(1)负数不是回数
(2)个位数都是回数
思路:
(1)使用前一题的整数的倒序,将一个数倒序,然后和原值比较:存在的问题是可能有溢出,需要计算每一位,影响高效,有改进空间
(2)逐个比较最高位和最低位,不等跳出,相等就比较次高位和次低位,递归结束:高效,但难度是如何取得最高位和掐头去尾。
程序实现
(1)整数的倒序
bool isPalindrome(int x) { long long y = 0; int t = x; for (; t > 0; t /= 10) y = y*10 + t %10; if(x == y) return true; return false; //如果溢出,肯定不等}
(2)逐个比较最高位和最低位
bool isPalindrome(int x) { if (x < 0) return false; int d = 1; while (x / d >= 10) //计算取最高位所需的除数 d *= 10; while (x) { int high_bit = x / d; int low_bit = x % 10; if (high_bit != low_bit) break; x = x % d / 10; //*掐头去尾* d = d / 100; //每次踢出2位 } if (x) return false; return true; }};
0 0
- leetcode 9. 判断整数是否是回数 Palindrome Number
- Palindrome Number leetcode 判断一个整数是否是回文
- leetcode Palindrome Number (判断整数是否为回文)
- 9. Palindrome Number(判断一个整数是否为回文数)
- Palindrome Number 判断整数是否回文
- [LeetCode]-Palindrome Number 判断整数回文
- LeetCode 9. Palindrome Number 判断是否为回文数
- leetcode——Palindrome Number 判断整数数字是否为回文(AC)
- [C++]LeetCode 9: Palindrome Number(判断整数是否是回文数)
- [Leetcode #9]Palindrome Number 判断一个整数是否是回文数
- 判断一个整数是否是回文数 Palindrome Number
- Palindrome Number 判断一个整数是否是回文数
- Palindrome Number 判断一个数字是否是回文数字@LeetCode
- [LeetCode]Palindrome Number 判断二进制和十进制是否为回文
- LeetCode-9 Palindrome Number(判断是否为回文int型)
- leetcode palindrome-number(判断一个数字是否是回文)
- leetcode:Palindrome Number 回文整数
- 【LeetCode】9. Palindrome Number回文数判断
- 迭代器失效
- 自定义View --- 柱状统计图
- 第五章5.19
- android的5大布局
- 利用buildroot构造powerpc交叉编译环境
- leetcode 9. 判断整数是否是回数 Palindrome Number
- php 什么是缓存
- Java对象创建过程和内存结构分析
- kendoUI中window控件的使用
- WebRTC代码走读(五):视频接受流程
- Ruby字符(串)总结
- java文件上转-fileupload
- Unity4.6.3之间隔、延时调用方法
- hdu-1078 FatMouse and Cheese (and) 滑雪问题(记忆化搜索+简单dp)