- 回文数
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 1:
输入: 121
输出: true
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/palindrome-number
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
思路:不将整数转换为字符串的方法,例如:判定121,先取一个gcd令他等于100,判断121/gcd与121%10是否相等,即可。
class Solution {
public boolean isPalindrome(int x) {
boolean result=true;
if(x<0)//数值为负时一定不是回文数
{
result=false;
return result;
}
int gcd=1;
int num=x;
while(num>=10)//取gcd
{
gcd*=10;//每次gcd×10
num/=10;//每次原数除以10
}
while(x>0)//原数小于等于0时跳出循环
{
if(x/gcd != x%10)//判断最高位与最低为是否相等
{
result=false;
return result;
}
x = x%gcd/10;//x对gcd取余即去掉最高位,再除以10即去掉最低位
gcd/=100;//gcd每次除100,因为每个循环删除两位
}
return result;
}
}