温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Reverse Integer

发布时间:2020-08-11 06:33:02 来源:ITPUB博客 阅读:145 作者:壹頁書 栏目:编程语言

Reverse digits of an integer.

Example1: x = 123, return 321
Example2: x = -123, return -321

click to show spoilers.

Note:
The input is assumed to be a 32-bit signed integer. Your function should return 0 when the reversed integer overflows.


1.先记录符号
2.最后检查是否溢出int的范围


  1. class Solution {
  2.     public int reverse(int x) {
  3.         boolean flag=(x>=0)?true:false;
  4.         long data=1;
  5.         int[] arr=new int[10];
  6.         int index=0;
  7.         x=Math.abs(x);
  8.         while(x>0){
  9.             arr[index]=x % 10;
  10.             x=x/10;
  11.             index++;
  12.         }

  13.         long result=0L;
  14.         for(int i=index-1;i>=0;i--){
  15.             result=result+arr[i]*data;
  16.             data=data*10;
  17.         }
  18.         if(result>Integer.MAX_VALUE || result<Integer.MIN_VALUE){
  19.             return 0;
  20.         }
  21.         return flag==true?(int)result:-(int)result;
  22.     }
  23. }

网络答案

  1. class Solution {
  2.      public int reverse(int x) {
  3.          long rev= 0;
  4.          while( x != 0){
  5.              rev= rev*10 + x % 10;
  6.              x= x/10;
  7.              if( rev > Integer.MAX_VALUE || rev < Integer.MIN_VALUE)
  8.                  return 0;
  9.          }
  10.          return (int) rev;
  11.      }
  12. }

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI