9. 回文数 Palindrome Number
Posted Long Long Journey
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了9. 回文数 Palindrome Number相关的知识,希望对你有一定的参考价值。
Determine whether an integer is a palindrome. Do this without extra space.
题意:判断一个数字是否为回文数
如何取得一个Integer的最高位?假设x = 688答:x / mask. 设置一个和x位数一样的mask,mask = 100,然后用x/mask,表示x里面有几个mask,即是最高位数字. 688里有6个100,即为6.
如何删去一个Integer的最高位?假设x = 688答:x = x % mask. 还是用这个mask,用 x = x % mask 即可得到688除以100的余数,这个余数其实等于删掉了x的最高位剩下的数.
如何取得一个Integer的最低位?假设x = 688答:x % 10.
如何删去一个Integer的最低位?假设x = 688答:x = x / 10.
public class Solution {
public bool IsPalindrome(int x) {
if(x < 0) return false;
if(x == 0) return true;
int num = x;
int div = 1;
while(num >= 10){
num /= 10;
div *= 10;
}
while (x > 0) {
int left = x / div;
int right = x % 10;
if (left != right){
return false;
}
x = (x % div) / 10;
div = div / 100;
Console.WriteLine(x);
Console.WriteLine(div);
}
return true;
}
}
public boolean isPalindrome1(int x) {
if (x<0 || (x!=0 && x%10==0)) return false;
int rev = 0;
while (x>rev){
rev = rev*10 + x%10;
x = x/10;
}
return (x==rev || x==rev/10);
}
以上是关于9. 回文数 Palindrome Number的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 9. Palindrome Number(回文数)
[LeetCode]9. Palindrome Number回文数
[leetcode]9. Palindrome Number 回文数