• LeetCode 7. Reverse Integer


    7. Reverse Integer(整数反转)

    链接:https://leetcode-cn.com/problems/reverse-integer/

    题目:

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

      示例 1:

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

      输入: -123
      输出: -321
      示例 3:

      输入: 120
      输出: 21
      注意:

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

    思路:

      简单题,大概有两种思路,一种是直接字符串翻转,怎么翻都行,甚至可以直接整个数组转换。第二种就是数字运算,余数加到上次结果的末尾,直接输出(注意看数字越界了没)。

      重点就是数字越界,我这里多加了一个判断,越界归零,虽然这样我还是错了几次。。。。

    代码:

     1 public static int reverse(int x) {
     2         int ans = 0;
     3         int num = Math.abs(x);
     4         int max = Integer.MAX_VALUE/10;
     5         while(num>0)
     6         {
     7             int t = num % 10;
     8             if(ans > max)
     9                 return 0;
    10             ans = ans * 10 + t;
    11             
    12             num = num / 10;
    13         }
    14         if(x>0)
    15             return ans;
    16         else
    17             return -ans;
    18     }
  • 相关阅读:
    安装 macbook 双系统( OS X 和 Ubuntu )
    微信小程序初探
    [Javascript] Promise
    [AS/400] 基本概念
    [AS/400] Control Language(CL) 基本概念
    [AS/400] Control Language
    [github] 创建个人网页
    [tools] sublime 使用记录
    [Java] TreeMap
    exe转msi
  • 原文地址:https://www.cnblogs.com/blogxjc/p/11172336.html
Copyright © 2020-2023  润新知