Leetcode 7 反转整数

  • 给定一个 32 位有符号整数,将整数中的数字进行反转。

    示例 1:

    输入: 123
    输出: 321

    示例 2:

输入: -123
输出: -321

  示例 3:

输入: 120
输出: 21

注意:

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

  • 解答:

  

class Solution:
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        def reverse(x):
    """
        a=0
        z = abs(x)
        while z:
            a=a*10+z%10
            z=z//10
        if x<0:
            a=-a
        if a>2**31 or a<(-2**31)-1:
            return 0
        else:
            return a

注意:数值范围指的是返回值的范围

   不必刻意考虑输入的整数的符号

   对其做绝对值处理,再判断原来的符号做处理即可

原文地址:https://www.cnblogs.com/Aprilnn/p/9191358.html

时间: 2024-11-06 09:40:48

Leetcode 7 反转整数的相关文章

Leetcode 7.反转整数 By Python

思路 python提供了方便的字符串反转方法,所以还是蛮简单的这题 注意几个坑: 0结尾的数字反转后要去除 0-9的数字不存在反转问题,直接输出就好了 代码 class Solution(object): def reverse(self, x): """ :type x: int :rtype: int """ s = str(x) if s[0] == '-': num = s[1:].lstrip('0') x = -int(num[::-

leetcode——Reverse Integer 反转整数数字(AC)

Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 这个题比较简单,考虑特殊情况如12000,注意检查反转后数字是否会越界溢出.代码如下: class Solution { public: int reverse(int x) { bool minus = false; short int splitNum[10]; int i = 0, j = 0; unsign

关于反转整数

在leetcode上就见了这题: 经典的反转整数,遇见过很多次了,本以为很简单,分分钟码出来,结果却大失所望,哎,看来以后还是得多想想特殊情况呀~~ 不多说,先把坑挖出来,一共两个坑: 1.反转后可能溢出,此时应该返回0: 2.关于尾数为0时,应舍去: 由于采用数学方法获取各位数,并非用文本反转,所以坑2就不用考虑了, 关键是坑1,如何判别溢出呢?可以通过获取INT_MAX和INT_MIN来辅助,由于是乘法溢出,故采用将最值除上相应值,这样避免判断最值情况. 一切尽在代码中: class Sol

【0031】反转整数/判断回文

Reverse Integer 反转一个整数 C++ Code 1234567891011121314151617181920212223242526272829303132   class Solution{public:    int reverse(int x)    {        /*一位数的情况*/        if(-10 < x && x < 10)        {            return x;        } /*记录负数情况,负数转换成正

LeetCode:反转字符串中的元音字母【345】

LeetCode:反转字符串中的元音字母[345] 题目描述 编写一个函数,以字符串作为输入,反转该字符串中的元音字母. 示例 1: 输入: "hello" 输出: "holle" 示例 2: 输入: "leetcode" 输出: "leotcede" 说明:元音字母不包含字母"y". 题目分析 所谓的做题就是把以前背下来的拿过来改一下即可.双指针碰撞模型,之前已经描述过很多次了,此处不在赘述. 知道AEI

Leetcode 206 反转一个单链表

Leetcode 206 反转一个单链表 分析 L->M->R->- 操作: L->NIL M->L ==>> M->R->R2->- 判断是否需要继续在R2节点的基础上向右移动: R2.next==NIL 例题 反转一个单链表. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 分析 L M R NIL NIL head// hea

leetcode刷题日记——反转整数

给定一个 32 位有符号整数,将整数中的数字进行反转. 这里考虑,交换时,需要注意位数不同,需要乘上对应的位数,代码如下: int reverse(int x) { int result = 0; while(x != 0) { int tmp = result * 10 + x % 10; //转换的中间值 x = x / 10; //每循环一次,x位数减少一位 if(tmp / 10 != result) //验证数据是否正确 { result = 0; break; } result =

LeetCode刷题-007反转整数

给定一个 32 位有符号整数,将整数中的数字进行反转.示例 1:输入 : 123输出 : 321示例 2:输入 : ‐123输出 : ‐321示例 3:输入 : 120输出 : 21注意 :假设我们的环境只能存储 32 位有符号整数,其数值范围是 [?2 31 , 2 31 ? 1].根据这个假设,如果反转后的整数溢出,则返回 0. 1 class Solution { 2 public: 3 int reverse(int x) { 4 const int int_max=0x7fffffff

【leetcode 简单】第二题 反转整数

给定一个 32 位有符号整数,将整数中的数字进行反转. 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: 假设我们的环境只能存储 32 位有符号整数,其数值范围是 [?231,  231 ? 1].根据这个假设,如果反转后的整数溢出,则返回 0. class Solution(object): def reverse(self, x): """ :type x: int :rtype: