Leetcode之Palindrome Number

本文介绍了一种用于判断整数是否为回文的有效算法。该算法通过将整数的高位数字与低位数字进行对比来确定其是否为回文数,并在过程中避免了直接反转整数,从而提高了效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*本解法参照于《Leetcode题解》(网址:https://github.com/soulmachine/leetcode),
或作修改,或增加注释等。*/
class Solution {
public:
    bool isPalindrome(int x) {
       if(x < 0) return false;//负数不是回文
	   int d(1);
	   while(x / d >= 10) d *= 10;//获得与x同样位数的最小数

	   while(x){
		   int f = x/d;
		   int l = x%10;
		   if(f != l) return false;//对应两个数字不相等,不是回文
		   x = x%d/10;
		   d /= 100;
	   }
	   return true;//所有对应数字是相等的,是回文
    }
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值