旅鸟

导航

0005 反转整数

给定一个 32 位有符号整数,将整数中的数字进行反转。

示例 1:

输入: 123
输出: 321

 示例 2:

输入: -123
输出: -321

示例 3:

输入: 120
输出: 21

注意:

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

public class Solution {
    public int Reverse(int x) {
        decimal target = x;
        decimal res = 0;
        bool flag = true;
        if (target < 0)
        {
            flag = false;
            target *= -1;
        }

        int weight = 1;
        while (true)
        {
            res *= weight;
            res += target % 10;
            weight = 10;
            if(target < 10)
            {
                break;
            }
            else
            {
                target = Math.Floor(target / 10);
            }
        }
        if(flag == false)
        {
            res *= -1;
        }
        if(res < Int32.MinValue || res > Int32.MaxValue)
        {
            return 0;
        }
        return (int)res;   
    }
}

 

posted on 2018-08-02 09:26  旅鸟  阅读(89)  评论(0编辑  收藏  举报