栈是一种怎样的数据结构?
栈是一个容器,一端封闭(底部),一端开口(顶部),数据进入,会先到栈底部,数据出来,栈顶的数据先出来
栈,先进后出,Python实现一个栈
class Stack:
def __init__(self):
self.items = []
def isEmpty(self):
return self.items == []
def push(self, item):
self.items.append(item)
def pop(self):
return self.items.pop()
def peek(self):
return self.items[len(self.items) - 1]
def size(self):
return len(self.items)
输入一个英文句子,翻转单词顺序,单词内字符不翻转,标点符号和普通字母一样处理。例如输入输入“I am a student.”,则输出“student. a am I”。
运用栈这种数据结构,解决问题
def reser(s):
temp = s.split(' ')
l = len(temp)
a = Stack()
for i in temp:
a.push(i)
temp =[]
for i in range(l):
temp.append(a.pop())
temp = ' '.join(temp)
return temp
不使用列表的reverse方法
def rever(s):
temp = s.split(' ')
goal = []
while len(temp) > 0:
a = temp.pop()
goal.append(a)
return ' '.join(goal)
if __name__ == '__main__':
s = 'I am a student.'
print(rever(s))
使用列表的reverse方法
def rever(s):
temp = s.split(' ')
temp.reverse()
return ' '.join(temp)
if __name__ == '__main__':
s = 'I am a student.'
print(rever(s))
本文深入解析了栈这一数据结构的特点与工作原理,详细介绍了如何用Python实现一个栈,并通过一个实例展示了如何利用栈来解决字符串翻转的问题。
650

被折叠的 条评论
为什么被折叠?



