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 }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏mathor

最佳加法表达式

 给定n个1到9的数字,要求在数字之间最多添加m个加号(加号两边必须有数字,并且不能有两个或两个以上加号相邻),使得所得到的加法表达式的值最小,并输出该值。

1922
来自专栏小樱的经验随笔

pandas用法小结

1362
来自专栏程序员的知识天地

人生苦短:Python里的17个超赞操作

有时候,当我们要交换两个变量的值时,一种常规的方法是创建一个临时变量,然后用它来进行交换。比如:

791
来自专栏ACM算法日常

最长上升子序列(LIS)算法

LIS(Longest Increasing Subsequence)最长上升子序列 一个数的序列bi,当b1 < b2 < … < bS的时候,我们称这个序列...

1582
来自专栏技术沉淀

Python: collections模块实例透析Collections模块

1898
来自专栏大闲人柴毛毛

剑指offer——面试题10输入一个十进制整数,统计其中二进制1的个数

/** * 题目:输入一个十进制整数,统计其中二进制1的个数 * @author 大闲人柴毛毛 */ public class CountBitOne {...

3754
来自专栏老司机的技术博客

人人都能学会的python编程教程6:列表(list)

当索引超出了范围时,Python会报一个IndexError错误,所以,要确保索引不要越界,记得最后一个元素的索引是len(classmates) - 1。如果...

43110
来自专栏源哥的专栏

如何实现JS函数的重载

    本人主要学的是java,也习惯使用面向对象的思维来思考东西,但是我却发现,javascript不能支持函数的重载,如下:

943
来自专栏程序猿DD

第二章 正则表达式位置匹配攻略

第二章 正则表达式位置匹配攻略 正则表达式是匹配模式,要么匹配字符,要么匹配位置。请记住这句话。 然而大部分人学习正则时,对于匹配位置的重视程度没有那么高。 本...

21610
来自专栏Golang语言社区

Go 语言数据类型

在 Go 编程语言中,数据类型用于声明函数和变量。 数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充...

3227

扫码关注云+社区

领取腾讯云代金券