栈 · 用栈把十进制转二进制(21T3 Q4 同款)
读入一个非负整数 n,用栈把它转成二进制并打印。
做法:不断取 n % 2 得到一个二进制位、push 进栈,再 n /= 2,直到 n == 0;最后依次 pop 打印。
请补全 printBinary。
为什么用栈:
n % 2是从低位到高位依次产生的,但二进制要从高位到低位写。push 进栈再 pop 出来,顺序正好被翻转回正确的样子——这正是栈「倒序」特性的经典应用。 易错点:n == 0要特判直接输出0(否则循环一次都不进,什么都不打印)。
输入
- 一行:非负整数
n(0 ≤ n ≤ 2000000000)。
输出
- 一行:
n的二进制表示(无前导零;n=0输出0)。
示例:输入 13 → 输出 1101。