博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode -- Reverse Integer
阅读量:6644 次
发布时间:2019-06-25

本文共 1629 字,大约阅读时间需要 5 分钟。

Reverse digits of an integer.

Example1: x = 123, return 321

Example2: x = -123, return -321

Have you thought about this?

Here are some good questions to ask before coding. Bonus points for you if you have already thought through this!

If the integer's last digit is 0, what should the output be? ie, cases such as 10, 100.

Did you notice that the reversed integer might overflow? Assume the input is a 32-bit integer, then the reverse of 1000000003 overflows. How should you handle such cases?

Throw an exception? Good, but what if throwing an exception is not an option? You would then have to re-design the function (ie, add an extra parameter).

1 public int reverse(int x) { 2         // Note: The Solution object is instantiated only once and is reused by each test case. 3         boolean positive = (x > 0) ? true : false; 4         int result = 0; 5         x = Math.abs(x); 6         while(x > 0){ 7             result = result * 10 + x % 10; 8             x = x / 10; 9         }10         if(!positive){11             result *= -1;12         }13         return result;14     }

 refactor code:

考虑溢出情况,溢出时result<0,此时返回-1

1 public int reverse(int x) { 2         // Note: The Solution object is instantiated only once and is reused by each test case. 3         boolean positive = (x > 0) ? true : false; 4         int result = 0; 5         x = Math.abs(x); 6         while(x > 0){ 7             result = result * 10 + x % 10; 8             x = x / 10; 9         }10         if(result < 0){11             return -1;12         }13         if(!positive){14             result *= -1;15         }16         return result;17     }

 

转载地址:http://yvevo.baihongyu.com/

你可能感兴趣的文章
设计模式 — 模板模式
查看>>
重审自己
查看>>
C# winform 加载网页 模拟键盘输入自动接入访问网络
查看>>
职场的2个技巧
查看>>
知识树软件的Warnier图
查看>>
[Android] 创建一个GridView
查看>>
【目标检测】Faster RCNN算法详解
查看>>
世界上第一位程序员是位美女——AdaLovelace【有图为证】
查看>>
【295】暗黑表格模板及相关
查看>>
mysql group replication 安装&配置详解
查看>>
深拷贝和浅拷贝
查看>>
java版sqlhelper(转)
查看>>
android搭建环境错误 daemon not running. starting it now on port 5037 ADB server didn't ACK
查看>>
我的第一本著作:Spark技术内幕上市!
查看>>
现实世界的Windows Azure:采访Gridsum的Sr.业务发展总监Yun Xu
查看>>
公开发布版的Windows Azure 基础结构服务中的 SQL Server – 文档和最佳实践(已更新),还有即将发布的博客...
查看>>
UVa 494 - Kindergarten Counting Game
查看>>
java中IO操作
查看>>
Python 值传递和引用传递
查看>>
hdu4405Aeroplane chess 概率dp水题
查看>>