【2019.8.19】算法学习记录——整数反转

算法-整数反转


给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

示例 1:

输入: 123
输出: 321
示例 2:

输入: -123
输出: -321
示例 3:

输入: 120
输出: 21

注意:
假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−2^31, −2^31 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0
来源:力扣(LeetCode)

class Solution {
    public int reverse(int x) {
        String origNum = String.valueOf(x);
        char[] charArr = origNum.toCharArray();
        String reverse = "";
        if(charArr[0] == '-'){
            reverse = "-";
            for(int i = charArr.length-1; i>0;i--){
            reverse += charArr[i]; 
            }
        }
        else{        
        for(int i = charArr.length-1; i>=0;i--){
            reverse += charArr[i]; 
        }
    }
        int num;
        try{
            num = Integer.parseInt(reverse);            
        }
        catch(Exception e){
            return 0;
        }
         num = Integer.parseInt(reverse);
            if(num<Math.pow(-2,31) || num>Math.pow(2,31) ){
                num = 0;
            }   
       return num; 
    }
}
    

笔记
1、数据各种转换方法
int转String使用方法:

int x;
String y = String.valueOf(x);

String转int方法:

int z = Integer.parseInt(y);

String转字符串数组:

char[] charArray = y.toCharArray();

2、异常处理

try{
}
catch(Exception e){
//此处为对异常如何处理
//比如,遇见异常后,返回某个值
}

常用异常
java中常见异常

3、JAVA次方运算
-2的31次方:

Math.pow(-2,31)
发布了17 篇原创文章 · 获赞 0 · 访问量 347

猜你喜欢

转载自blog.csdn.net/cletitia/article/details/99772755