leetcode-Algorithms-07 |整数反转

原题

在这里插入图片描述

思路

注意点一

12340=4321

注意点二

注意符号

注意点三

不要超出INT的边界,可以先用LONG去运算,运算完成之后,如果超出了边界,则返回0。

代码

写的很丑,见笑了

package leetcode;

public class Solution_7 {
    
    

    public static void main(String[] args) {
    
    
        reverse(
                123);
    }

    public static int reverse(int x) {
    
    
        String xx = String.valueOf(x);
        char[] xxx = xx.toCharArray();
        long cast = 0;
        if (xxx[0] == '-') {
    
    
            for (int i = 1; i < xxx.length; i++) {
    
    
                long c = Integer.parseInt(String.valueOf(xxx[i]));
                long b = (long)Math.pow(10, i - 1);
                cast = cast + c * b;
            }
            cast = -1 * cast;
        } else {
    
    
            for (int i = 0; i < xxx.length; i++) {
    
    

                long c = Integer.parseInt(String.valueOf(xxx[i]));
                long b = (long) Math.pow(10, i);
                cast = cast + c * b;
            }
        }
        if (cast>Integer.MAX_VALUE||cast<Integer.MIN_VALUE){
    
    
            cast=0;
        }
       // System.out.println(cast);
        return (int) cast;
    }
}

猜你喜欢

转载自blog.csdn.net/qq_38173650/article/details/114858085