Leetcode# 7. Reverse Integer(位运算)
来源:互联网 发布:淘宝店升级天猫店 编辑:程序博客网 时间:2024/05/21 08:54
声明:题目解法使用c++和Python两种,重点侧重在于解题思路和如何将c++代码转换为python代码。
题意:
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
click to show spoilers.
Note:
The input is assumed to be a 32-bit signed integer. Your function should return 0 when the reversed integer overflows.
题意
给你一个整数,若这个数在有符号32位范围内逆序变化输出,超出输出0。
思路:C++语言:
获取有符号int的范围(这里用到了位运算的小技巧),判断逆序后的数是否在int范围内。
class Solution {public: int reverse(int x) { int min = (1<<31)*(-1), max = (1<<31)-1; long long int now = 0; while(x) { now = now * 10 + x % 10; x = x / 10; } if(now < min || now > max) return 0; return now; }};
思路:python语言:
在python中“%”为取余运算中
-9 % 5 = 5
9 % -5 = -5
没有c ++中方便,这点比较麻烦,所以我们不如求逆序之前先判断数的正负号。
class Solution(object): def reverse(self, x): """ :type x: int :rtype: int """ min = -2147483648 max = 2147483647 now = 0 flag = 0 #代表非负数 if x < 0: x = -x flag = 1 while x : now = now * 10 + x % 10 x = x / 10 if flag == 1: now = -now if now < min or now > max: return 0 return now
Github本题题解:https://github.com/xuna123/LeetCode/blob/master/Leetcode%23%207.%20Reverse%20Integer.md
阅读全文
1 0
- Leetcode# 7. Reverse Integer(位运算)
- [LeetCode]7.Reverse Integer
- LeetCode 7. Reverse Integer
- LeetCode --- 7. Reverse Integer
- LeetCode 7.Reverse Integer
- [Leetcode] 7. Reverse Integer
- [Leetcode]7.Reverse Integer
- LeetCode 7.Reverse integer
- [LeetCode] 7.Reverse Integer
- 7. Reverse Integer LeetCode
- leetcode 7. Reverse Integer
- leetcode 7. Reverse Integer
- leetcode 7. Reverse Integer
- Leetcode 7. Reverse Integer
- 【LeetCode】7.Reverse Integer
- LeetCode 7. Reverse Integer
- LeetCode *** 7. Reverse Integer
- LeetCode 7. Reverse Integer
- ajax无刷新分页效果
- FIREWALLD
- android屏幕适配,自动生成不同的dimens.xml详解
- 异或——LibreOJ6087 毒瘤题/LibreOJ6232 毒瘤题加强版
- [LintCode]5.第k大元素
- Leetcode# 7. Reverse Integer(位运算)
- app.json中未配置
- HDU 6153
- 树的邻接表储存与遍历,给自己留个成长记录吧
- Jobdu1113 二叉树
- listener.ora/sqlnet.ora/tnsnames.ora配置文件详解
- Linux 修改环境变量
- 萌新的linux之旅25
- IPMI