给出一个 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; }
