入门+ · 数位重建
反转数字
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,恰好正确。下一题:回文数。