力扣网——7.整数反转

7整数反转.

题目链接:力扣网

题目描述:

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
image.png
这本来是一道简单的题目,但是由于本人的刷题数量较少,整数反转.

题目描述:

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

这本来是一道简单的题目,但是由于本人的刷题数量较少,使用的方法就是一些比较老套的办法,但是易于理解。
方法一
1)将整数转化成字符数字,使用的方法是:
char[] ch = Integer.toString(x).toCharArray();
2)新建一个数组,进行逆序存储上述数组中的元素(或者直接将第一个元素和最后一个元素交换的方法),难点是原数组中的第一个元素。
3)如果第一个元素为“-”,那么就需要将新建数组的长度减一。
4)将新数组中的元素转化成整型即可。如果原来的数据为负,则给新数据乘以负一即可

代码如下

package com.company.NewCode;

public class reverse {
    
    
    public static void main(String[] args) {
    
    
        System.out.println(reverse(9646324351));
    }
    public static long reverse(int x){
    
    
        String str = Integer.toString(x);
        char[] ch =str.toCharArray();
        char[] ch1 = new char[ch.length];
        char[] ch2 = new char[ch.length-1];
        int flag = 0,j=0;
        for (int i=ch.length-1;i>0;i--){
    
    
            if (ch[0]=='-'){
    
    
                ch2[j]=ch[i];
            }else{
    
    
                ch1[j] = ch[i];}
                j++;
            }
        long result =0;
        if (ch[0]=='-'){
    
    
            String s = new String(ch2);
             result = Long.valueOf(s)*(-1);
        }else{
    
    
            ch1[ch.length-1]=ch[0];
            String s=new String (ch1);
            result = Long .valueOf(s);
        }
        if(result > Integer.MAX_VALUE || result < Integer.MIN_VALUE) return 0;
        else return (int)result;
    }
}

方法二

直接用取余的方法进行输出即可
代码如下:
class Solution {
    
    
    public int reverse(int x) {
    
    
        long res = 0;
        int flag = -1;
        if(x < 0) x = -x;//将负数转化成正数运算,设置标志符即可。
        else 
            flag = 1;
        while(x != 0){
    
    
            res = res * 10 + x % 10;//对输入的数据取余运算,然后依次扩大十倍即可。
            x /= 10;//将原来的数据缩小十倍
        }
        res *= flag;
        if(res > Integer.MAX_VALUE || res < Integer.MIN_VALUE)//判断是否越界,如果越界直接输出0即可。
           return 0;
        else return (int)res;
    }
}

现在看到改进的代码如此的简单,但是刚开始做的时候怀疑都没带脑子。所以一定要多加练习。

おすすめ

転載: blog.csdn.net/chunfenxiaotaohua/article/details/104706817