leetcode 7 反转整数 c#

2019/2/22

        public int Reverse(int x)
        {
            if (x == 0) return 0;
            bool flag = x > 0;
            int value = flag ? x : -x;
            long result = 0;
            while (value > 0)
            {
                int num = value % 10;
                value = value / 10;
                result = result * 10 + num;
                if (result > int.MaxValue) return 0;
            }

            return (int)(flag ? result : -result);
        }

2019/2/22

 

此题一出,四海混顿。苍苍两两,归为一处。——navymaster

记得大学的时候报班学习c,讲到了这个题,印象很深。深的是题目,忘的是程序。

如今又拾起,一定要将其参悟。

 

        static void Main(string[] args)
        {
            int ss = -123;
            int s= Reverse(ss);
            Console.Write(s);
            Console.ReadKey();
        }
        public static int Reverse(int x)
        {
            int res = 0;
            while (x != 0)
            {
                int t = res * 10 + x % 10;
                if ((t - x % 10) / 10 != res) return 0;    
                res = t;
                x /= 10;
            }
            return res;
        }

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值