zoukankan      html  css  js  c++  java
  • 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;
    }
  • 相关阅读:
    css3阴影效果
    应该了解的9种CSS技巧
    position
    MyEclipse设置Java代码注释模板
    Struts2 常用的常量配置
    CSS 中文字体对应英文和Unicode编码
    MyEclipse使用前优化与配置
    MyEclipse 快捷键收集
    Ajax 调用WebServices之一 基本应用
    C#控制台显示进度条
  • 原文地址:https://www.cnblogs.com/skillking/p/9388809.html
Copyright © 2011-2022 走看看