力扣(LeetCode)算法题解:7.整数反转

简介: 力扣(LeetCode)算法题解:7.整数反转

(一)题目描述

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

【注意】

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

来源:力扣(LeetCode

链接:https://leetcode-cn.com/problems/reverse-integer

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

(二)输入、输出示例

示例 1:

输入: 123
输出: 321

示例 2:

输入: -123
输出: -321

示例 3:

输入: 120
输出: 21

(三)代码实现

方法1(php版):

解题思路

本题比较简单,php本身自带strrev字符反转函数可以实现,但有以下几点需要注意:

1.strrev是对字符进行翻转,如’10’翻转之后是’01’,但题目期待输出为1。

2.既然是整数反转,整数可正可负,需要考虑负号。

3.要考虑翻转之后的数可能出现溢出的问题,需要加判断。

代码实现

class Solution {
    /**
     * @param Integer $x
     * @return Integer
     */
    function reverse($x) {
        if($x >= 0){
            $a = (int)strrev($x);
        }else{
            $a = '-'.(int)strrev(substr($x,1));
        }
        if ($a > (pow(2,31)-1) || $a < pow(-2,31)) {
            return 0;
        }
        return $a;
    }
}

(四)性能分析

运行时间 内存消耗 测试用例通过数/测试用例总数
8ms 14.8 MB 1032/1032


目录
相关文章
|
30天前
|
存储 算法 JavaScript
怎么刷算法,leetcode上有哪些经典题目
怎么刷算法,leetcode上有哪些经典题目
15 0
|
1月前
|
算法 Java
[Java·算法·简单] LeetCode 27. 移除元素 详细解读
[Java·算法·简单] LeetCode 27. 移除元素 详细解读
23 1
|
1月前
|
算法 Java
[Java·算法·中等] LeetCode15. 三数之和
[Java·算法·中等] LeetCode15. 三数之和
30 0
|
2天前
|
算法 DataX
二叉树(中)+Leetcode每日一题——“数据结构与算法”“剑指Offer55-I. 二叉树的深度”“100.相同的树”“965.单值二叉树”
二叉树(中)+Leetcode每日一题——“数据结构与算法”“剑指Offer55-I. 二叉树的深度”“100.相同的树”“965.单值二叉树”
|
4天前
|
存储 算法
leetcode1237. 找出给定方程的正整数解
leetcode1237. 找出给定方程的正整数解
7 0
|
1月前
leetcode2376. 统计特殊整数
leetcode2376. 统计特殊整数
15 1
|
1月前
|
Serverless
leetcode2719. 统计整数数目
leetcode2719. 统计整数数目
13 0
|
1月前
|
算法 Java
[Java·算法·简单] LeetCode 28. 找出字符串中第一个匹配项的下标 详细解读
[Java·算法·简单] LeetCode 28. 找出字符串中第一个匹配项的下标 详细解读
21 0
|
1月前
|
算法
算法题 — 整数转二进制,查找其中1的数量
算法题 — 整数转二进制,查找其中1的数量
12 0
|
1月前
|
算法 Java
[Java·算法·简单] LeetCode 14. 最长公共前缀 详细解读
[Java·算法·简单] LeetCode 14. 最长公共前缀 详细解读
20 0