若输入一个整数x则压入栈中,若输入0则弹出栈顶元素。 in: 3 2 1 0 out: 2 1 2 in: 6 4 2 3 0 0 1 out: 4 2 2 2 4 1 while True: try: stack=[] #定义栈列表 out_min=[]#定义输出最小值列表 n = int(input()) if n >= 1 and n <= 1000: #定义n的范围 arr_num = input().split() #定义arr_num列表存储要输入的数据串 arr_num = list(map(int,arr_num)) #转化为整数型list if len(arr_num)>n: #判断是否超出范围 print("超出范围") break else: i=0 while i < n: if arr_num[i] == 0: stack.pop() else: stack.append(arr_num[i]) i += 1 if len(stack): out_min.append(min(stack)) else: out_min.append(0) #print(stack) #print(out_min) out_min=map(str,out_min)#整型转字符型 print("".join(out_min)) else: print("n的范围为[1,1000]") except EOFError: break