zoukankan      html  css  js  c++  java
  • 整数翻转

    转为字符串分情况讨论

    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;
    }
    }
    
    不一样的烟火
  • 相关阅读:
    泰勒综合
    滤波器、窗等的系数为什么是对称的?
    l'alphabet en francais
    弄清for循环的本质
    js中的闭包
    js中用正则表达式
    java Calendar
    Android实现XML解析技术
    junit4 详解
    redhat vi 命令
  • 原文地址:https://www.cnblogs.com/cstdio1/p/13344402.html
Copyright © 2011-2022 走看看