第一行输入一个N,表示栈中元素的个数第二行输入N个整数表示栈顶到栈底的各个元素
输出一行表示排序后的栈中栈顶到栈底的各个元素。
5 5 8 4 3 6
8 6 5 4 3
1 <= N <= 10000-1000000 <=<= 1000000
# 输入的元素个数 n = int(input()) # 用列表模仿栈 stack = [] number = input().split() number.reverse() for i in range(len(number)): stack.append(int(number[i])) # 辅助的栈 help = [] while len(stack) != 0: a = stack.pop() while len(help) != 0 and help[-1] < a: stack.append(help.pop()) help.append(a) while len(help) != 0: stack.append(help.pop()) # 输出栈顶到栈底 for i in range(len(stack)): print(stack.pop(), end=' ')《程序员代码面试》Python题解 https://zhuanlan.zhihu.com/p/444550262