美文网首页
Reverse Integer失败

Reverse Integer失败

作者: 走地牙 | 来源:发表于2018-07-04 22:41 被阅读0次

    失败 没办法在string builder 转成int的时候判断是否越界

    /*

    注意:判断是否越界;

    1将int 转成字符串;

    2判断第一位是否是符号 是符号保留;

    3建立stringbuilder 反向写入;

    */

    class Solution {

        public int reverse(int x) {

            if(x < Integer.MIN_VALUE || x > Integer.MAX_VALUE){

                return 0;

            }

            String s = String.valueOf(x);

            StringBuilder rs = new StringBuilder();

            for(int i = s.length() - 1; i >= 0; i--){

                if(s.charAt(i) == '-'){

                    rs.insert(0,'-');       

                }

                rs.append(s.charAt(i));

            }

            if(rs.charAt(0) == 0){

                rs.deleteCharAt(0);

            }

            if(rs.charAt(0) == '-' && rs.charAt(1) == 0){

                rs.deleteCharAt(1);

            }

            if(rs.charAt(rs.length() - 1) == '-'){

                rs.deleteCharAt(rs.length() - 1);

            }

            int result = Integer.parseInt(rs.toString());

            if(result < Integer.MIN_VALUE || result > Integer.MAX_VALUE){

                return 0;

            }

            return result;

        }

    }

    相关文章

      网友评论

          本文标题:Reverse Integer失败

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