[LeetCode]#7 Reverse Integer

一、题目

Reverse digits of an integer.

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

 

二、分析

本题基本没有难度,用Python做这种数啊什么的最爽了,不用担心溢出的问题,并且字符串和整数间转换特别顺畅,像“     123”直接就可以变为123。

翻转后,要考虑溢出问题,这点的确需要注意。其他没什么,最后加上溢出判断

 

三、代码

 1 class Solution:
 2     # @param {integer} x
 3     # @return {integer}
 4     def reverse(self, x):
 5         import math
 6         _x = int(math.fabs(x))
 7         s = str(_x)
 8         s = s[::-1]
 9         if int(s) > 2147483647 or:
10             return 0
11         else:
12             if x >= 0:
13                 return int(s)
14             else:
15                 return -int(s)
16         if x >= 0:
17             if int(s) > 2147483647:
18                 return 0
19             else:
20                 return int(s)

 

四、总结

1.再简单的题也是有值得学习的,本题中,翻转后一定要考虑溢出。尽管Python不用考虑这个,但是输出格式还是要考虑一下。

2.翻转写法s[::-1]

posted @ 2015-07-22 00:11  面包包包包包包  阅读(110)  评论(0编辑  收藏  举报