No.007 Reverse Integer

时间:2022-04-29
本文章向大家介绍No.007 Reverse Integer,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

7. Reverse Integer

  • Total Accepted: 153147
  • Total Submissions: 644103
  • Difficulty: Easy

  Reverse digits of an integer.

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

  思路:

  本题思路很简单,有多种方法:要注意的就是判断反转之后的结果是否超出了int类型的范围。

  • 第一种是直接对10取余和除,然后每加一位,就将原先的结果乘以10后加上余数即得从最低位到当前位反转之后的结果。然后将处理后的字符串转化为long类型,判断是否超出了范围,超出则输出0,没有则直接输出结果。
  • 第二种是将数转化为String类型,判断index为0的位数是不是负号,若不是,则将整个字符串反转,若是,则将除了第0 位之后的字符串反转,然后将处理后的字符串转化为long类型,判断是否超出了范围,超出则输出0,没有则直接输出结果。

  下面的程序只是第一种方法的代码:

 1 public int reverse(int x) {
 2     long res = 0 ;
 3     while(x != 0){
 4         res = res*10 + x%10 ;
 5         x = x/10 ;
 6     }
    //判断是否超出了范围
 7     if(res > Integer.MAX_VALUE  || res < Integer.MIN_VALUE){
 8         return 0 ;
 9     }else{
10         return (int)res ;            
11     }
12 }