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。
推薦閱讀:
- C++實現數組中元素組合出最大值
- C++實現LeetCode(190.顛倒二進制位)
- C++實現LeetCode(557.翻轉字符串中的單詞之三)
- C++實現LeetCode(7.翻轉整數)
- C++實現LeetCode(186.翻轉字符串中的單詞之二)