C#算法之整數反轉

題目

給出一個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。

示例 1:

輸入: 123
輸出: 321

 示例 2:

輸入: -123
輸出: -321

示例 3:

輸入: 120
輸出: 21

註意:

假設我們的環境隻能存儲得下 32 位的有符號整數,則其數值范圍為 [−231,  231 − 1]。請根據這個假設,如果反轉後整數溢出那麼就返回 0

代碼模板

public class Solution {
    public int Reverse(int x) {
         
    }
}

筆者方法 68ms左右

   public class Solution
    {
        public int Reverse(int x)
        {

            int num = 0;
            while (x != 0)
            {
                int i = x % 10;
                x = x / 10;
                //C# int32 范圍 [-2147483647~2147483647]
                if (num > int.MaxValue / 10 )
                    return 0;
                if (num < int.MinValue / 10)
                    return 0;

                num = num * 10 + i;
            }
            return num;
        }
    }

到此這篇關於C#算法之整數反轉的文章就介紹到這瞭。希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。

推薦閱讀: