week14

该代码实现了一个C++函数,用于判断一个整数x是否为回文数。首先检查x是否为负数,负数直接返回false。然后通过反转数字并比较原数和反转后的数来确定是否为回文。反转过程中使用longlong类型避免溢出。
摘要由CSDN通过智能技术生成
力扣刷题

回文数

bool isPalindrome(int x){

    if (x < 0) { // 如果是负数,直接返回 false

        return false;

    }

    long long reversed_num = 0// 使用 long long 类型来保存反转后的数字

    long long temp_x = x; // 临时变量保存 x 的值,防止改变 x

    while (temp_x != 0) { // 反转数字

        reversed_num = reversed_num * 10 + temp_x % 10;//reversed_num的数字全部左移一位,为添加新的数字腾出位置。取temp_x的末位数字,即除以10的余数,加到reversed_num的末尾,完成一位数字的反转。

        temp_x /= 10;//这行代码的作用就是去掉temp_x的末位数字

    }

    return reversed_num == x; // 判断是否回文数

}

1. 对于负数,一定不是回文数,返回false

2. 反转数字,得到反转后的数字reversed_num

3. 判断reversed_num是否等于x,如果相等则是回文数,反之则不是回文数。需要注意的是,在反转数字时要使用 long long 类型来保存反转的结果,防止反转后的数字溢出(int类型的最大值为2^31-1)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值