7. 整数反转(leetcode力扣算法 - java / rust)
Posted 二当家的白帽子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了7. 整数反转(leetcode力扣算法 - java / rust)相关的知识,希望对你有一定的参考价值。
7. 整数反转:
给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。
假设环境不允许存储 64 位整数(有符号或无符号)。
样例 1:
输入:
x = 123
输出:
321
样例 2:
输入:
x = -123
输出:
-321
样例 3:
输入:
x = 120
输出:
21
样例 4:
输入:
x = 0
输出:
0
提示:
- -231 <= x <= 231 - 1
原题传送门
题解
从最后一位逐渐向前拼接,可以想像成栈数据结构,取出最后一位放到结果的最后一位,这样循环完毕相当于整体反转,唯一要注意的就是处理超过32位有符号数的范围。
java
class Solution {
public int reverse(int x) {
final int max = Integer.MAX_VALUE / 10;
final int min = Integer.MIN_VALUE / 10;
int rev = 0;
while (x != 0) {
if (rev > max || rev < min) {
return 0;
}
rev = rev * 10 + x % 10;
x /= 10;
}
return rev;
}
}
rust
impl Solution {
pub fn reverse(x: i32) -> i32 {
let max = i32::MAX / 10;
let min = i32::MIN / 10;
let mut rev = 0;
let mut x = x;
while x != 0 {
if rev > max || rev < min {
return 0;
}
rev = rev * 10 + x % 10;
x /= 10;
}
rev
}
}
最后说两句
非常感谢你阅读本文章,如果你觉得本文对你有所帮助,请留下你的足迹,点个赞,留个言,多谢~
作者水平有限,如果文章内容有不准确的地方,请指正。
希望小伙伴们都能每天进步一点点。
本文由 二当家的白帽子 https://le-yi.blog.csdn.net/ 博客原创,转载请注明来源,谢谢~
以上是关于7. 整数反转(leetcode力扣算法 - java / rust)的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 力扣7. Reverse Integer 整数反转 Java 解法