每日一题:Leetcode 7.整数翻转

题目描述

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

示例 1:

输入: 123
输出: 321

示例 2:

输入: -123
输出: -321

示例 3:

输入: 120
输出: 21

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

题解

题目难度:简单

思路分析:本题通过一层循环实现输入数据的位数拆分和结果的储存即可。需要注意的是需要对输出结果是否溢出进行判断。

AC代码

package main

import "fmt"

const (
	MAX_VALUE = 2147483647
	MIN_VALUE = -2147483648
)

func main() {
	var x int
	var res = 0
	fmt.Scanf(" %d ", &x)
	for ; x != 0 ;x /= 10 {
		res = res*10 + x%10
	}
	if res<MIN_VALUE||res>MAX_VALUE{
		fmt.Print(0)
	}else{
		fmt.Print(res)
	}
}

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

发布了5 篇原创文章 · 获赞 0 · 访问量 241

猜你喜欢

转载自blog.csdn.net/qq_44584356/article/details/104345617