LeetCode 第7题:整数反转

题目描述

给你一个32位的有符号整数x,返回将x中的数字部分反转后的结果。

如果反转后整数超过32位的有符号整数的范围[-2^31,2^31-1],就返回0。

假设环境不允许存储64位整数(有符号或无符号)。

难度:中等

题目链接:7. 整数反转 - 力扣(LeetCode)

示例1:

输入:x = 123
输出:321

 示例2:

输入:x = -123
输出:-321

示例3:

输入:x = 120
输出:21

示例4:

输入:x = 0
输出:0

提示:-2^31<=x<=2^31-1

public class Solution{
    public int Reverse(int x)
    {
        //提前计算最大值和最小值的最后一位
        const int maxLastDigit = int.MaxValue %10; //7
        const int minLastDigit = int.MinValue %10; //-8
        
        int result = 0;
        while(x!=0)
        {
            int digit= x%10;//使用%获取最后一位
            //防止溢出
            if(result>int.MaxValue/10 || (result==int.MaxValue/10 && digit >maxLastDigit))
                 return 0;
            if(result

你可能感兴趣的:(leetcode,算法,职场和发展)