zoukankan      html  css  js  c++  java
  • Leet Code 7.整数反转

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

    题解

    简单题。每次把数x的个位数分离出来,用新的数y加起来。有堆栈的思想。

    • 题目的难点在于不能溢出一个范围
    • 所以解题过程中,需要有判断条件
    我的解法代码
    import java.lang.reflect.Array;
    import java.util.*;
    
    public class leetcode {
        public static void main(String[] args) {
            Scanner scan = new Scanner(System.in);
            int x = scan.nextInt();
            int rev = reverse(x);
            System.out.println(rev);
        }
    
        public static int reverse(int x) {
            int rev = 0;//记录新数字
            while (x != 0) {
                //pop操作
                int pop = x % 10;
                x /= 10;
                //push操作
                //不能溢出范围,加上判断条件
                if ((rev > Integer.MAX_VALUE / 10) || (rev == Integer.MAX_VALUE / 10 && pop > 7)) return 0;
                if ((rev < Integer.MIN_VALUE / 10) || (rev == Integer.MIN_VALUE / 10 && pop < (-8))) return 0;
                rev = rev * 10 + pop;
            }
            return rev;
        }
    }
    
  • 相关阅读:
    双飞翼布局 & 圣杯布局
    php正则
    面向对象-object对象
    面向对象-赋值运算
    面向对象-作用域
    js高级-面向对象
    8.5学习笔记
    10.22
    10.19
    react路由
  • 原文地址:https://www.cnblogs.com/chenshaowei/p/12307494.html
Copyright © 2011-2022 走看看