判断一个int 型整数 是否为回文数
2016-10-08 11:32
211 查看
leetcode 上的题目
Determine whether an integer is a palindrome. Do this without extra space.
由于不能使用额外空间,所以不能把数字转化为字符串后进行比较。因为这样空间复杂度将为线性。
leetcode给出了几点提示
1.判断负数是否为回文数,查了下回文数定义,负数不为回文数
2.就是注意不能把数字转字符串,因为不能用额外空间。
3.如果打算反转数字,需要处理好数字溢出情况
我的解决办法:
先获取数字长度,然后获取最右边的数及最左边的数。
Determine whether an integer is a palindrome. Do this without extra space.
由于不能使用额外空间,所以不能把数字转化为字符串后进行比较。因为这样空间复杂度将为线性。
leetcode给出了几点提示
1.判断负数是否为回文数,查了下回文数定义,负数不为回文数
2.就是注意不能把数字转字符串,因为不能用额外空间。
3.如果打算反转数字,需要处理好数字溢出情况
我的解决办法:
先获取数字长度,然后获取最右边的数及最左边的数。
var isPalindrome = function(x) { if(x < 0){ return false; } if(x < 10){ return true; } var tmp =x; var len = 1; var n= 1; while ( ( tmp = parseInt(tmp/10))!= 0){ len *= 10; n ++ ; } n = parseInt(n/2); var left = x; var right = x; for(var i =0 ; i <= n; i ++){ var t = parseInt(left/len)%10; var r = right%10; if(t != r){ return false; } len /= 10; right = parseInt(right/10); } return true; };
相关文章推荐
- 判断一个整数是否是回文
- 输入一个整数,判断该整数是否是回文!
- java 编写程序实现从控制台接收一个 5 位以上的整数,使用数组来判断该数字 * 是否是回文数。(例如:789987,12344321是回文数)
- Palindrome Number leetcode 判断一个整数是否是回文
- Palindrome Number 判断一个整数是否是回文数
- 【华为面试题】给定一个数字(整数),判断它是否回文
- 判断一个整数是否是回文数 Palindrome Number
- 判断一个整数是否是回文数
- 判断一个整数是否回文整数,不用辅助数组!
- 输入一个整数判断是否是回文
- leetcode 9 给一个int类型的数字,判断是否是回文数
- 判断一个字符串、整数是否为回文字符串或回文数
- 判断一个整数是否是回文
- 判断一个整数是否为回文数
- 判断一个整数是否为回文数 Check if a number is palindrome
- 每天一道算法题(一):给定一个整数,判断这个数是否是回文
- USTC机试—递归的判断一个整数和其逆序数之和是否是回文数,如果不是回文数则如此往复求和直到是回文数,输出求和的次数
- leetcode之O(1)空间复杂度判断一个整数是否是回文整数
- 判断一个整数是否为回文数
- 判断一个整数是否为回文数