剑指 Offer 06. 从尾到头打印链表
栈,递归
剑指 Offer 07. 重建二叉树
层序遍历(每一层):使用队列,根节点入队,循环?队列不空(出队,左进队,右进队)
前序遍历(根,左,右):使用栈,根节点入栈,循环?栈不空(出栈,右进栈,左进栈)
中序遍历(左,根,右):使用栈,循环?栈不空或当前节点不空(前节点不空:左进栈,否则:出栈,当前为节点赋值为右节点)
后序遍历(左,右,根):使用栈
定位前序遍历的根节点在中序遍历的位置,划分左右子树,递归
栈,递归
层序遍历(每一层):使用队列,根节点入队,循环?队列不空(出队,左进队,右进队)
前序遍历(根,左,右):使用栈,根节点入栈,循环?栈不空(出栈,右进栈,左进栈)
中序遍历(左,根,右):使用栈,循环?栈不空或当前节点不空(前节点不空:左进栈,否则:出栈,当前为节点赋值为右节点)
后序遍历(左,右,根):使用栈
定位前序遍历的根节点在中序遍历的位置,划分左右子树,递归