zoukankan      html  css  js  c++  java
  • 整数反转

    //给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 
    //
    // 示例 1:
    //
    // 输入: 123
    //输出: 321
    //
    //
    // 示例 2:
    //
    // 输入: -123
    //输出: -321
    //
    //
    // 示例 3:
    //
    // 输入: 120
    //输出: 21
    //
    //
    // 注意:
    //
    // 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。

    解题思路:先去除符号,转换成char数组,遍历数组,将头尾交换(只需要遍历一半),最后根据原数字的大小还原符号返回
    class Solution {
        public int reverse(int x) {
            int absX = 0;
            if(x < 0){
                absX = Math.abs(x);
            }else {
                absX = x;
            }
    
            int result = 0 ;
            char[] xChar = String.valueOf(absX).toCharArray();
            for (int i = 0 ; i < (xChar.length)/2 ; i++) {
                char temp = 0 ;
                temp = xChar[i];
                xChar[i] = xChar[xChar.length-1-i];
                xChar[xChar.length-1-i] = temp;
            }
            try{
                result = Integer.parseInt(String.valueOf(xChar));
            }catch (Exception e){
                return 0;
            }
            if (x < 0 ){
                return -1 * result;
            }else {
               return result;
            }
        }
     }



    不和别人一样,不复制只真正理解
  • 相关阅读:
    常用加密解密类(含3des)
    谷歌API(Ajax)
    flashpaper使用详解
    布置小窝
    CodeSimth数据访问层模板
    CodeSmith业务逻辑层模板
    CodeSimth生成实体类模板
    C# 参考之方法参数关键字:params、ref及out
    ALV 格式常用参数
    BOM输出
  • 原文地址:https://www.cnblogs.com/Vinlen/p/12849053.html
Copyright © 2011-2022 走看看