• 7. Reverse Integer


    一、题目

      1、审题:

        

        2、分析:

          将所给整数进行翻转,注意溢出。

    二、解答

      1、分析:

        方法一、将所给整数化为字符数组,翻转后重新组合成整数。

    class Solution {
        public int reverse(int x) {
    
            if(x == 0)
                return 0;
    
    
            String s = Integer.toString(x);
            boolean flag = true;
            if(x < 0) {
                flag = false;
                s = s.substring(1);
            }
    
            int index = s.length() - 1;
            while(index >= 0 && s.charAt(index) == '0') {
                s = s.substring(0, index);      //
                index--;
            }
    
            char[] arr = s.toCharArray();
            char[] arr2 = new char[arr.length];
            for (int i = 0; i < arr.length ; i++) {
                arr2[i] = arr[arr.length -1 -i];
            }
    
            Long result = Long.valueOf(String.valueOf(arr2));
            if(result > Integer.MAX_VALUE)
                return 0;
    
            if(flag == false)
                result = -result;
    
            return result.intValue();
        }
    }

      

    方法二:不用借助数组,直接进行翻转

      

    public int reverse2(int x) {

    boolean isNegative = false;
    if(x < 0) {
    isNegative = true;
    x = -x;
    }

    long result = 0;
    while(x != 0) {
    result = result * 10 + x % 10;
    x /= 10;
    }

    if(isNegative)
    result = -result;

    if(result > Integer.MAX_VALUE || result < Integer.MIN_VALUE)
    return 0;

    return (int)result;
    }
  • 相关阅读:
    非常可乐 HDU1495
    POJ3660 暑假集训-最短路H题floyd
    HDU2612 -暑假集训-搜索进阶N
    POJ-3126 暑假集训-搜索进阶F题
    HDU2544最短路模板,
    Alisha’s Party
    Milking Grid poj2185
    Period POJ
    Power Strings POJ
    Seek the Name, Seek the Fame (poj2752
  • 原文地址:https://www.cnblogs.com/skillking/p/9388809.html
Copyright © 2020-2023  润新知