zoukankan      html  css  js  c++  java
  • LeetCode 3.将整数中每位上的数字进行反转

    题目描述

    难度:简单

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

    示例 1:

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

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

    输入: 120
    输出: 21
    注意:

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

    解题思路

    利用Stringbuilder的reverse()方法来对数字进行反转,注意一些溢出细节即可

    代码如下

    class Solution {
        public int reverse(int x) {
          Stack<Integer> stack=new Stack<Integer>();
            Long result=new Long(0);
            if (x>=0) {
                String numString=x+"";
                StringBuilder stringBuilder=new StringBuilder(numString);
                stringBuilder.reverse();
                numString=stringBuilder.toString();
                result=Long.valueOf(numString);
                if (result>Math.pow(2, 31)-1) {
                    result=new Long(0);
                }
            }
            if (x<0) {
                String numString=x+"";
                StringBuilder stringBuilder=new StringBuilder(numString);
                stringBuilder.reverse();
                numString="-"+stringBuilder.toString().substring(0,numString.length()-1);
                result=Long.valueOf(numString);
                if (result<-Math.pow(2, 31)) {
                    result=new Long(0);
                }
            } 
             
             
             
             
             
             return result.intValue();
                
        }
    }
  • 相关阅读:
    第五周总结 8.11
    第四周总结 8.2
    第三周总结7.27
    PHP实验四
    PHP实验一
    PHP实验三
    软件工程课程总结
    《梦断代码》阅读笔记03
    找水王
    评价搜狗输入法
  • 原文地址:https://www.cnblogs.com/Transkai/p/12248382.html
Copyright © 2011-2022 走看看