代码改变世界

LeetCode-7-反转整数-c# 版本

  撞破南墙  阅读(882)  评论(0编辑  收藏  举报

c# 版本

// 给定一个 32 位有符号整数,将整数中的数字进行反转。
public class Solution
{
public int Reverse(int x)
{
/*
// 边界判断
// x变成字符串,然后拼接字符串。
如果第一位是-,则将其放到第一位。
从后往前遍历
如果遇到0则无视
*/
if (x >= Int32.MaxValue || x < Int32.MinValue)
{
return 0;
}

        StringBuilder sb1 = new StringBuilder();
        string x_str = x.ToString();
        if (x_str[0] == '-')
        {
            sb1.Append("-");
        }
        bool start_not_zero = false;
        for (int i = x_str.Length - 1; i >= 0; i--)
        {
            if (i == 0 && x_str[i] == '-')// 第一位
            {
                continue;
            }
            if (x_str[i] == 0 && start_not_zero == false)// 最后一位是0
            {
                start_not_zero = false;
                continue;
            }
            else
            {
                start_not_zero = true;
            }

            sb1.Append(x_str[i]);

        }

        long x1 = Int64.Parse(sb1.ToString());
        if (x1 >= Int32.MaxValue || x1 < Int32.MinValue)
        {
            return 0;
        }
        return (int)x1;


    }
}
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示