一、二叉树先序遍历的核心代码
二、先序遍历过程图解
以以上这棵树为例:
三、文字叙述递归过程
说明:括号里面为打印这个树的值
(A) 访问 A 这棵树的根节点
(B) 递归处理 A 的左子树(访问左子树的根节点也就是 B)
(D) 递归处理 B 的左子树(访问左子树的根节点也就是 D)
此时发现 D 没有左子树,不需要继续递归
又发现 D 没有右子树,也不需要继续递归
这时,D 这棵树也就处理完成
回到 B 这棵树中,B这棵树,根节点处理完成,左子树处理 完成,接下来 处理 B 的右子树
(E) 递归处理 B 的右子树(访问右子树的根节点也就是 E)
(G) 递归处理 E 的左子树(访问左子树的根节点也就是 G)
下一步就是递归处理 G 的左子树,发现左子树为空,就不需要递归处理
再下一步要递归处理