当前位置: 移动技术网 > IT编程>脚本编程>Python > Leetcode rever-Integer

Leetcode rever-Integer

2020年07月28日  | 移动技术网IT编程  | 我要评论

题目描述

将给出的整数x翻转。
例1:x=123,返回321
例2:x=-123,返回-321

你有思考过下面的这些问题么?

如果整数的最后一位是0,那么输出应该是什么?比如10,100
你注意到翻转后的整数可能溢出吗?假设输入是32位整数,则将翻转10000000003就会溢出,

 

思路:

依次取个位数,放入res

每次迭代  res*10+lastNum

如何判断溢出    int new_res=res*10+last

判断  (new_res-last)/10与 res是否相等   如果不等  那么产生溢出

 

int reverse(int x) {
        // write code here
        bool flag=false;
        if(x<0)
        {
            x=abs(x);
            flag=true;
        }
        int res=0;
        
        
        while(x>0)
        {
            int last=x%10;//取最后一位数字
            int new_res=res*10+last;//原先的数字*10+新来数字
            if((new_res-last)/10!=res) //产生溢出
                return 0;
            res=new_res;
            x=x/10; //
            
            
        }
        if(flag)
            return -res;
        return res;
 
    }

 

本文地址:https://blog.csdn.net/qq_33369979/article/details/107621730

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网