码迷,mamicode.com
首页 > 其他好文 > 详细

7. Reverse Integer

时间:2018-07-30 11:08:15      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:int   integer   img   alt   ima   技术   ==   数组   char   

一、题目

  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;
}

7. Reverse Integer

标签:int   integer   img   alt   ima   技术   ==   数组   char   

原文地址:https://www.cnblogs.com/skillking/p/9388809.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!