入門+ · 數位重建
反轉數字
12345 → 54321。從尾部拆下數位、往新數上壘——面試熱身題裡出場率最高的一題。
題目
輸入:一個整數 n(0 ≤ n ≤ 10⁹)。
輸出:n 的數位倒序(作為整數——前導零消失)。
樣例:
| 輸入 | 輸出 |
|---|---|
12345 | 54321 |
1000 | 1 |
你的解答
"用我的輸入試跑"的自定義輸入
判題完全在你的瀏覽器裡對隱藏測試執行。程式碼隨打隨存(本地)。Ctrl+Enter 判題。
卡住了?提示
提示 1 —— 重建,別收集
不需要字串:rev = rev * 10 + n % 10; 把已有的左移一位、把拆下來的數位接上。然後 n = n / 10;。
提示 2 —— 為什麼 1000 → 1
作為整數,倒過來的 "0001" 就是 1——數學自動丟掉前導零。字串做法反而要手動去零。
解答(先自己試!)
int n = int.Parse(Console.ReadLine());
int rev = 0;
while (n > 0) { rev = rev * 10 + n % 10; n = n / 10; }
Console.WriteLine(rev);
注意 n = 0 時 while 一輪不進——rev 保持 0,恰好正確。下一題:迴文數。