美文网首页
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进

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

作者: 七月流火andy | 来源:发表于2019-03-09 14:45 被阅读0次

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

e.g:

  1. 输入: 123 输出: 321
  2. 输入: -123 输出: -321

思路:

余10,result * 10 加上余10后的结果,需要验证结果是否可能溢出

java代码

 /**
     * 题目5:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
     * e.g: 1. 输入: 123  输出: 321
     * 2. 输入: -123 输出: -321
     * 思路: 余10,result * 10 加上余10后的结果
     * 需要验证结果是否又可能移除,可以在加操作前,用最大值减去余10后的结果与result * 10比较
     *
     * @param x
     * @return
     */
    private static int solution06(int x) {
        int input = x;
        if (input < 0) {
            input = -input;
        }
        int result = 0;
        int temp = 0;
        while (input > 0) {
            temp = input % 10;
            // 溢出,可能存在的问题:负数和正数不一样
            // 乘可能造成的溢出
            if (Integer.MAX_VALUE / 10 < result) {
                result = 0;
                break;
            }
            // 加可能造成的溢出
            if (Integer.MAX_VALUE - result * 10 < temp) {
                result = 0;
                break;
            }
            result = result * 10 + temp;
            input = input / 10;
        }
        if (x < 0) {
            return -result;
        }
        return result;
    }

已经看到这里了,帮忙点个喜欢❤️呗,谢谢啦!!

相关文章

  • LeetCode(PHP)之整数反转

    题目:整数反转(Reverse Integer) 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进...

  • 整数反转

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

  • Leetcode 7.整数反转(简单)

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

  • 面试算法:给出一个 32 位的有符号整数,将这个整数中每位上的数

    给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 环境只能存储得下 32 位的有符号整数,...

  • 整数反转

    给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 解释32 位的有符号整数即数值范围为 [...

  • LeetCode7.整数反转 JavaScript

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

  • LeetCode 每日一题 [7] 整数反转

    LeetCode 整数反转 [简单] 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 来...

  • LeetCode 7、整数反转

    整数反转 LeetCode题目描述 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例...

  • 翻转整数(2)

    翻转整数 要求 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 输入: 123 输出: ...

  • ARTS-Week 2

    Algorithm 整数反转给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 总结:本题有...

网友评论

      本文标题:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进

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