【LeetCode高频数学题目】7、整数反转

该文章介绍了一个用于反转整数的算法,通过定义一个longlong型变量res存储结果,避免整数溢出。在循环中,不断将x的个位数添加到res并更新x,直到x为0。最后检查res是否在int范围内,返回相应结果。

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

7.整数反转

在这里插入图片描述
在这里插入图片描述

思路:
1、定义一个long long类型的变量res来存储反转后的结果。使用long long是为了避免整数越界的情况。
2、当x不是0时,进行以下操作:
res=res10+x%10:得到x的最后一位数字,并且拼接到res后面。例如x=123,res=0,则res=010+3=3.
x/=10:将x右移一位,去掉最后一位数字。例如x=123,则x=12.
3、循环结束后,判断res是否在int范围内,如果是返回res,否则返回0
4、例如x=123,则过程是:x=123,res=0;res=010+3=3,x=12;res=310+2=32,x=1;res=32*10+1=321,x=0;返回res=321

class Solution {
public:
    int reverse(int x) {
        long long res=0;
        while(x!=0){
            res=res*10+x%10;
            x/=10;
        }
        if(int(res)==res) return res;
        return 0;
    }
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值