LeetCode 7. 整数反转

mac2026-02-08  9

LeetCode 7. 整数反转

 

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

示例 1:

输入: 123输出: 321 示例 2:

输入: -123输出: -321示例 3:

输入: 120输出: 21注意:

假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231,  231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0.


 

知识点:

strrev(); // 反转substr(); // 求子串整型数的字长和平台有关,leetcode 平台的整形是大于 231 次方,所以直接通过比大小来判断溢出

PHP代码

function reverse($x) { // 实现了数字的反转 /* $x = strval($x); if ($x[0] == '-') { $x = substr($x, 1); $ans = '-'; } else { $ans = ''; } $flag = true; for ($i = strlen($x) - 1; $i >= 0; -- $i) { if ($flag and $x[$i] == '0') { continue; } $flag = false; $ans .= $x[$i]; } return empty($ans) ? 0 : $ans; */ $ans = $x >= 0 ? '' : '-'; $ans .= intval(strrev($x)); return ($ans < -2147483648 or $ans > 2147483647) ? 0: $ans; }

 

最新回复(0)