LeetCode--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 }

 

转载于:https://www.cnblogs.com/mukekeheart/p/5704621.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值