LeetCode 9 Palindrome Number(回文数字判断)
2017-03-03 21:32
162 查看
Long Time No See !
题目链接https://leetcode.com/problems/palindrome-number/?tab=Description
首先确定该数字的位数。按照已知数字x对10进行多次求余运算,可以得到数字位数。
具体思路:
1、每次取出该数字的最高位和最低位进行比较。
2、如果不相等则直接返回FALSE,
3、如果相等修改x的值(去掉最高位也同时去掉最低位)其中去掉最高位可以通过求模运算,去掉最低位可以采用除以10
4、进行循环直到x的值不大于0为止
参考代码:
题目链接https://leetcode.com/problems/palindrome-number/?tab=Description
首先确定该数字的位数。按照已知数字x对10进行多次求余运算,可以得到数字位数。
具体思路:
1、每次取出该数字的最高位和最低位进行比较。
2、如果不相等则直接返回FALSE,
3、如果相等修改x的值(去掉最高位也同时去掉最低位)其中去掉最高位可以通过求模运算,去掉最低位可以采用除以10
4、进行循环直到x的值不大于0为止
参考代码:
package leetcode; /*** * * @author pengfei_zheng * 判断回文数字 */ public class Solution09 { public boolean isPalindrome(int x) { if(x < 0) //小于0返回false return false; int len = 1; while(x/len >= 10) len *=10;//求出x的位数对应的pow(10,n) while(x>0){ int left = x / len;//取x的最高位 int right = x % 10;//取x的最低位 if(left != right)//有不等则返回false return false; else { x = (x % len) / 10;//修改x的值 求模运算去掉最高位 除法运算去掉最低位 len /= 100;//修改x的位数对应的pow(10,n) } } return true; } };
相关文章推荐
- leetcode 9 给一个int类型的数字,判断是否是回文数
- 【leetcode】对撞指针应用之回文字符串判断(忽略大小写,以及出数字外其他字符)
- Palindrome Number 判断一个数字是否是回文数字@LeetCode
- Leetcode 9. Palindrome Number(判断回文数字)
- Leetcode 07 Reverse Integer(数字反转) && 09 Palindrome number(回文判断)
- LeetCode--判断一个十进制数字是否为回文
- 【LeetCode008-009算法/编程练习C++】string转int(atoi),判断数字是否是回文
- leetcode——Palindrome Number 判断整数数字是否为回文(AC)
- leetcode第9题,判断数字是否是回文数字的两种方法
- 判断回文数字
- 判断数字是否是回文数字(无需另外开销)
- 判断一个数字是否是回文
- 72-回文数的判断,随意的输入一个int数字,判断是不是回文数字
- 63-输入一个数字,判断是不是回文数字
- Leetcode中判断数字
- leetcode:Palindrome Number (判断数字是否回文串) 【面试算法题】
- 回文数字判断
- 判断一个字符串是否是“回文”数字
- 判断一个数字是否是回文
- leetcode:Palindrome Number (判断数字是否回文串) 【面试算法题】