本关任务:实现链栈的基本操作:初始化、入栈、出栈、遍历等并使用这些操作。栈中元素是大写或小写字母。输入输出输入格式:两行第一行是一个正整数n表示出栈和入栈的次数第二行是n次出栈和入栈操作序列其中1表示入栈0表示出栈如果是入栈则1后跟一个大写或小写字母。输出格式:遍历栈内容从底部到上部输出所有字母如果栈为空则输出Stack Empty!输入输出样例:输入51f1e000输出:Stack Empty!
class Stack:
def __init__(self):
self.stack = []
def push(self, item):
self.stack.append(item)
def pop(self):
if self.is_empty():
return "Stack Empty!"
return self.stack.pop()
def is_empty(self):
return len(self.stack) == 0
def traverse(self):
if self.is_empty():
return "Stack Empty!"
return "".join(self.stack[::-1])
n = int(input())
operations = input()
stack = Stack()
for i in range(n):
operation = operations[i]
if operation == '1':
stack.push(operations[i+1])
elif operation == '0':
stack.pop()
print(stack.traverse())
``
原文地址: http://www.cveoy.top/t/topic/h027 著作权归作者所有。请勿转载和采集!