C# LeetCode 算法题记录7 整数反转-简单

该博客记录了使用C#解决LeetCode算法题‘整数反转’的方法。博主详细介绍了如何反转一个32位有符号整数,并给出了示例输入和输出。同时,注意到在数值范围[-2^31, 2^31-1]内,如果反转后导致溢出则返回0。" 106265033,9229750,C++递归算法应用:阶乘与汉诺塔,"['C++编程', '递归算法', '算法应用']
摘要由CSDN通过智能技术生成

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

示例 1
输入: 123
输出: 321

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

示例 3
输入: 120
输出: 21

注意:

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


代码如下:

public class Solution
    {
        public int Reverse(int x)
        {
            try
            {
                if (x < 0)
                {
                    x = -x;
                    string stringX = x.ToString();
                    StringBuilder sb = new StringBuilder();
                    List<char> tempX = new List<char>();
                    foreach (char c in stringX)
                    {
                        tempX.Add(c);
                    }
                    tempX.Reverse();
                    foreach(var c in tempX)
                    {
                        sb.Append(c);
                    }
                    int temp = Convert.ToInt32(sb.ToString());
                    return -temp;
                }
                else
                {
                    string stringX = x.ToString();
                    StringBuilder sb = new StringBuilder();
                    List<char> tempX = new List<char>();
                    foreach (char c in stringX)
                    {
 
                        tempX.Add(c);
                    }
 
                    tempX.Reverse();
                    foreach (char c in tempX)
                    {
                        sb.Append(c);
                    }
                    int temp = Convert.ToInt32(sb.ToString());
                    return temp;
                }
            }
            catch
            {
                return 0;
            }        
        }
    }
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值