首页 > 代码库 > Leetcode Reverse Integer
Leetcode Reverse Integer
对于这一道题乍一看比较简单,但实际操作中要考虑到是否有溢出,因此操作的结果应存在一个long类型的变量中,然后检测该变量是否溢出,若溢出则为0;
1 package ReverseInteger; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 public class ReverseInteger { 7 8 /** 9 * @param args10 */11 public static int reverse(int x) {12 int i=1;13 long result=0;14 int max = 0x7FFFFFFF; //int最大值 15 int min = 0x80000000;16 List <Integer>list=new ArrayList<Integer>();17 while(x/i>=10||x/i<=-10){18 i*=10;19 }20 int j=i;21 while(x>0||x<0){22 list.add(x%10);23 x=x/10;24 } 25 for(int a:list){26 result+=(long)a*j;27 // System.out.println(result);28 if (result> max || result < min) //溢出处理 29 { 30 result = result > 0 ? 0 :0; 31 //System.out.println("^^^^^^^^^^^^");32 return (int)result;33 } 34 j=j/10;35 }36 return (int)result;37 38 }39 public static void main(String[] args) {40 // TODO Auto-generated method stub41 int j=reverse(1563847412);42 System.out.println(j);43 44 45 }46 47 }
Leetcode Reverse Integer
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。