首页 > 其他 > 详细

LeetCode 7. 整数反转

时间:2019-10-30 00:15:50      阅读:87      评论:0      收藏:0      [点我收藏+]

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;
}

 

LeetCode 7. 整数反转

原文:https://www.cnblogs.com/GetcharZp/p/11762177.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!