首页 > 其他分享 >【刷题笔记】7. Reverse Integer

【刷题笔记】7. Reverse Integer

时间:2023-08-06 23:01:36浏览次数:33  
标签:tmp 10 Reverse 32 31 integer Integer Input 刷题

题目

Given a 32-bit signed integer, reverse digits of an integer.

Example 1:

Input: 123
Output: 321

Example 2:

Input: -123
Output: -321

Example 3:

Input: 120
Output: 21

**Note:**Assume we are dealing with an environment which could only store integers within the 32-bit signed integer range: [−2^31, 2^31 − 1]. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.

题目大意

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−2^31,  2^31 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。

解题思路

  • 这一题是简单题,要求反转 10 进制数。类似的题目有第 190 题。
  • 这一题只需要注意一点,反转以后的数字要求在 [−2^31, 2^31 − 1]范围内,超过这个范围的数字都要输出 0 。

参考代码

package leetcode

func reverse7(x int) int {
	tmp := 0
	for x != 0 {
		tmp = tmp*10 + x%10
		x = x / 10
	}
	if tmp > 1<<31-1 || tmp < -(1<<31) {
		return 0
	}
	return tmp
}

标签:tmp,10,Reverse,32,31,integer,Integer,Input,刷题
From: https://blog.51cto.com/u_16110811/6987506

相关文章

  • GO语言刷题
    ###GO刷题记录二分法查找给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。示例1:输入:nums=[-1,0,3,5,9,12],target=9输出:4解释:9出现在nums中并且下标为4示例2:输入:nums......
  • 【刷题笔记】6. ZigZag Conversion
    题目Thestring "PAYPALISHIRING" iswritteninazigzagpatternonagivennumberofrowslikethis:(youmaywanttodisplaythispatterninafixedfontforbetterlegibility)PAHNAPLSIIGYIRAndthenreadlinebyline: &q......
  • [刷题笔记] LuoguP1156 垃圾陷阱
    ProblemDescription题目描述了几个状态,我们来理顺一下:一头牛掉进了坑里,农夫会在几个时段向下扔垃圾,牛初始可以撑10h,对于每一个垃圾,牛可以:把它堆起来,一旦垃圾堆的高度超过\(h\),她就可以爬出来吃掉它垃圾好吃吗,并且获得能量值需要注意的是,牛可以撑到下一次垃圾投放的标......
  • 二维数组花式遍历(旋转,螺旋) [labuladong-刷题打卡 day5]
    矩阵旋转48.旋转图像难点主要在于:用翻转和镜像处理逆反和旋转,和逆转单词一样“难者不会,会者不难”,思路简单镜像的坐标对应关系处理语言特性的利用,不同语言有不同api,实际代码中会有很大不同,但思想一致如果确定矩阵维数,通过线性代数应该可以直接计算答案...classSolution......
  • [刷题笔记] Luogu P2014 [CTSC1997] 选课
    ProblemSolution我们发现本题中有好多主从关系,即要想取用一个儿子必须先取用她的父亲。构成了一个森林,处理不便。有个小技巧,就是将0号节点参与建树,最后所求节点数就变成了\(m+1\),且把森林变成了一棵树。然后如何处理呢?再次理解题意,我们发现,我们每次的决策是是否取用儿子,取用......
  • 嵌入式面试笔试刷题(day4)
    (文章目录)前言本篇文章继续为大家分享笔试和面试中的那些事。一、中断的概念中断是计算机系统中的一种机制,用于处理来自外部设备或内部事件的异步事件。当某个事件发生时,它会打断正在执行的程序,将控制权转移到特定的中断处理程序,然后在处理完中断后恢复原来的程序执行。二、......
  • [刷题笔记] CF607B Zuma
    Problem貌似还是某场cfdiv1的BDescription一个数组\(a\),每次可以消掉其中的一个回文串,求至少经过几次操作能消掉字符串\(s\)?Solution我们发现本题满足大区间包含小区间的特性,即通过小区间可以推出大区间,符合区间dp。考虑状态转移,枚举一个区间\(l,r\),如果\(a_l=a_r\)则答案......
  • [刷题笔记][算法模型总结] Luogu P1880 [NOI1995] 石子合并 || 区间dp之合并石子模型
    ProblemSolution本题还有一个弱化版,见LuoguP1775我们发现本题和弱化版唯一区别就是本题有环。我们先将弱化版的内容。EasyversionDescription弱化版是给定了好多堆石子,每相邻的两堆可以合并成一个大堆,每次合并会产生两个石头重量和的价值,最后会将若干堆石子合并为一堆。......
  • [刷题笔记] CF1132F Clear the String & [CQOI2007] 涂色
    Problem1Problem2双倍经验qwqDescription初始时数组为空,每次可以选择一个区间\(l-r\)将其赋为同一个值,赋的值可以覆盖,给定数组的目标形式,求至少经过多少次操作使得空数组变成目标形式。Solution我们发现每次选择一个区间,大区间包含小区间,小区间可以推到大区间。因此考虑区间......
  • 嵌入式面试刷题(day3)
    (文章目录)前言本篇文章我们继续讲解嵌入式面试刷题,给大家继续分享嵌入式中的面试笔试经验和技巧。一、怎么判断两个float是否相同在C语言中,可以使用以下代码来比较两个float类型的数据是否相同:#include<stdio.h>#include<math.h>intmain(){floata=1.234;......