深度优先搜索的实现一般有2种方式
//todo
因为栈后进先出的特点,使其很容易实现树/图的深度优先遍历。如果是BFS,那非递归经常借助queue。
整个过程可以被描述为:
stack.push(root)
while(stack is not empty):
get top node
stack.pop()
visit top node
stack.push(left node)
stack.push(right node)
借助上图,可以容易理解整个过程。
原文:https://www.cnblogs.com/zhouyc/p/13195336.html