程序员代码面试指南 python实现(如何仅用递归函数和栈,实现一个栈的逆序)
程序员代码面试指南 python实现(第一章 栈和队列)
如何仅用递归函数和栈,实现一个栈的逆序
题目描述
分析
源码
def getAndRemoveLastElem(stack):
result = stack.pop()
if stack.isEmpty():
return result
else:
last = getAndRemoveLastElem(stack)
stack.push(result)
return last
def reverse(stack):
if stack.isEmpty():
return
i = getAndRemoveLastElem(stack)
reverse(stack)
stack.push(i)