Leetcode_07【整数反转】

文章目录:

  • 题目
  • 脚本一及注释
  • 脚本一逻辑


题目:

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

示例 1:

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

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

输入: 120
输出: 21
注意:

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



脚本一及注释:【用时:24ms】

class Solution:                    #定义一个类
    def reverse(self, x: int) -> int:       #定义一个方法及其形参
        x1 = str(x)                  #将整形变量转变为字符型变量
        if "-" in x1:                 #判断字符串是否带有负号
            x2 = x1[1:]                #若有,则使用分片的方法将字符串第一个字符去掉,生成新的字符串
            x3 = x2[::-1]               #反转字符串
            x4 = int(x3)                #将字符串型变量转变为整形变量
            if -x4 < -2**31:              #根据题目意思,若反转后的数值溢出,则返回0
                return(0)
            else:        
                return(-x4)              #否则返回反转后的整数
        else:
            x2 = x1[::-1]                #若字符串不带负号"-",直接反转字符串,并生成新的变量
            x3 = int(x2)                 #将新的字符串变量转变为整型变量
            if x3 > 2**31:                #同样判断反转后的数值是否溢出
                return(0)                #若溢出,则返回0
            else:
                return(x3)                #否则返回反转后的数值


脚本逻辑:

  • 此脚本第一步需要先对是否带负号"-",进行判断,若带了负号,则要做相应的处理
  • 第二步:将整型变量转变为字符串型变量
  • 第三步:反转字符串变量
  • 第四步:将反转后的字符串型变量转变为整型变量

原文地址:https://www.cnblogs.com/mailong/p/12003117.html

时间: 2024-08-01 19:17:49

Leetcode_07【整数反转】的相关文章

Leetcode篇:整数反转

@author: ZZQ @software: PyCharm @file: IntReverse.py @time: 2018/9/16 16:36 要求:整数反转(给定一个 32 位有符号整数,将整数中的数字进行反转) e.g.: 输入: 123 输出: 321 输入: -123 输出: -321 输入: 120 输出: 21 [假设我们的环境只能存储 32 位有符号整数,其数值范围是 [?2^31, 2^31 ? 1]. 根据这个假设,如果反转后的整数溢出,则返回 0.] 需考虑:反转以后

LeetCode Golang 7. 整数反转

7. 整数反转 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. Tips : Math包给出的类型大小的边界: // Integer limit values. const ( MaxInt8 = 1<<7 - 1 MinInt8 = -1 << 7 MaxInt16 = 1<<15 - 1 MinInt16 = -1 << 15 MaxInt32 = 1<<31 - 1 MinInt32 = -1 << 3

C# 算法题系列(二) 各位相加、整数反转、回文数、罗马数字转整数

各位相加 给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数. 示例: 输入: 38 输出: 2 解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2. 由于 2 是一位数,所以返回 2. 进阶:你可以不使用循环或者递归,且在 O(1) 时间复杂度内解决这个问题吗? 题目地址 https://leetcode-cn.com/problems/add-digits/ 代码模板 public class Solution { public int AddDigits

力扣题目汇总(加一,旋转数组,整数反转)

力扣题目汇总(加一,旋转数组,整数反转) 加一 1.题目描述 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一. 最高位数字存放在数组的首位, 数组中每个元素只存储一个数字. 你可以假设除了整数 0 之外,这个整数不会以零开头. 示例 1: 输入: [1,2,3] 输出: [1,2,4] 解释: 输入数组表示数字 123. 示例 2: 输入: [4,3,2,1] 输出: [4,3,2,2] 解释: 输入数组表示数字 4321. 2.解题思路 #错误思路 列表最后一位加1,判断最后

整数反转

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例 1: 输入: 123 输出: 321  示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231,  231 − 1].请根据这个假设,如果反转后整数溢出那么就返回 0. /* * @lc app=leetcode.cn id=7 lang=javascript * * [7] 整数反转 */ /**

【Leetcode】【简单】【17. 整数反转】【JavaScript】

题目描述 7. 整数反转 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例 1: 输入: 123输出: 321 示例 2: 输入: -123输出: -321示例 3: 输入: 120输出: 21注意: 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231,  231 − 1].请根据这个假设,如果反转后整数溢出那么就返回 0. 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse

LeetCode 第7题 整数反转

LeetCode 第7题 整数反转 题目描述 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 整体思路 这道题在LeetCode的题目中是非常简单的,尤其是用Python来解决.我们都知道在Python中int类型和str类型是可以相互转换的:int(str) 或者 str(int).因此这道题中,我们仅需要将input中的int类型转换为str类型然后翻转字符串即可. 翻转字符串我们用到的方法是str[::-1].在这个语句中,'-1'指的是step(步长)的意思,取

letcode 7 整数反转

整数反转 解法1 if(x==0) return x; StringBuilder res=new StringBuilder(); if(x<0){ res.append('-'); x = Math.abs(x); } while (x>0){ int a = x%10; res.append(a); x/=10; } try{ return Integer.parseInt(res.toString()); }catch (Exception e){ return 0; } 解法2 pu

LeetCode:整数反转(Reserve Integer)

public class ReserveInteger { public int reverse(int x) { //用于接收个位数(10的余数) int remainder; //是否负数 int isMinus = 0; //存储结果 double result = 0; //获得整数长度 int length = ("" + x).length(); if (x < 0) { isMinus = -1; } //遍历整数的每一位,如果是负数就少遍历一次 for (int