首页 > 其他 > 详细

整数翻转

时间:2020-07-20 14:55:40      阅读:69      评论:0      收藏:0      [点我收藏+]

技术分享图片

转为字符串分情况讨论

class Solution {
    public int reverse(int x) {
        long num = 0;
        String numStr = x + "";
        int len = numStr.length();
        if(x >= 0){
            for(int i=len-1;i>=0;i--){
                char ch = numStr.charAt(i); 
                num = num * 10 + ch - ‘0‘; 
            }
            if(num > Integer.MAX_VALUE) return 0;
            return (int) num;
        }else{
            for(int i=len-1;i>0;i--){
                char ch = numStr.charAt(i); 
                num = num * 10 + ch - ‘0‘; 
            }
            num *= -1;
             if(num < Integer.MIN_VALUE) return 0;
             return (int)num;
        }
       // return 0;

    }
}

直接一个循环内计算(溢出判断挺有意思的)

class Solution {
public int reverse(int x) {
	int ans = 0;
	while (x != 0) {
		if ((ans * 10) / 10 != ans) {//判断ans*10是否溢出
			ans = 0;
			break;
		}
        //当ans*10未溢出时,ans*10的个位是0,故ans*10+x%10也不会溢出
		ans = ans * 10 + x % 10;
		x = x / 10;
	}
	return ans;
}
}

整数翻转

原文:https://www.cnblogs.com/cstdio1/p/13344402.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!