7.整数反转

作者: 爱恨_交加 | 来源:发表于2020-11-13 17:48 被阅读0次

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

// 示例1
输入:123
输出:321

// 示例2
输入:-123
输出:-321

// 示例3
输入:120
输出:21

注意:假设我们的环境只能存储得下32位的有符号整数,则其数值范围为[-231,231-1]。请根据这个假设,如果反转后整数溢出那么就返回0。

解题

  • 传入的32位有符号整数若大于0并且经反转后理论上应大于 2^31-1(Integer.MAX_VALUE),则反转后的数将变成负数
  • 传入的32位有符号整数若小于0并且经反转后理论上应小于 -2^31(Integer.MIN_VALUE),则反转后的数将变成正数


实现

public class Solution {

  public static void main(String[] args) {
    // srcInt典型值可选:0 | 123 | -123 | Integer.MAX_VALUE | Integer.MIN_VALUE
    int srcInt = Integer.MIN_VALUE ;
    System.out.println(reverse(srcInt));
  }

  private static int reverse(int srcInt) {
    /* 
    * 因为题目并没说被反转的数不能为0,所以如果 srcInt == 0,这里也返回0
    */
    int rsInt = 0;
    if(srcInt > 0) {
      while(srcInt != 0) {
        rsInt = rsInt*10 + srcInt%10;
        srcInt /=10;
      }
      rsInt = rsInt < 0 ? 0 : rsInt;
     }else if(srcInt < 0) {
      while(srcInt != 0) {
        rsInt = rsInt*10 + srcInt%10;
        srcInt /=10;
      }
      rsInt = rsInt > 0 ? 0 : rsInt;
    }
  return rsInt;
  }

}

相关文章

  • Leecode: 7.整数反转

    在刷Leecode, 7.整数反转思路:将整数转为string后反转,再使用int()转回整数可以顺利提交代码,但...

  • [day1] [LeetCode] [title7,9]

    7. 反转整数 给定一个 32 位有符号整数,将整数中的数字进行反转。 示例1: 输入: 123 输出: 321 ...

  • 7. 反转整数

    20180919-摘抄自7. 反转整数 给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 1: 输入:...

  • 算法练习四

    7. 反转整数 给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 1: 输入: 123输出: 321示...

  • LeetCodeDay07 —— 反转整数&字符串中的第一个唯一

    7. 反转整数 描述 给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 注意 假设我们的环境只能存储 ...

  • 7.反转整数

    给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 1: 示例 2: 示例 3: 注意:假设我们的环境只...

  • 7. 反转整数

    给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 1:输入: 123输出: 321 示例 2:输入: ...

  • 7.反转整数

    题目 思路1.判断范围2.反向生成数字代码

  • 7. 反转整数

    一、题目原型: 给定一个 32 位有符号整数,将整数中的数字进行反转。输入: 123输出: 321输入: -123...

  • 7. 反转整数

    内容 给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 1: 输入: 123输出: 321示例 2: ...

网友评论

    本文标题:7.整数反转

    本文链接:https://www.haomeiwen.com/subject/huqbbktx.html