二叉树的前序遍历
对于一颗二叉树,当遍历它的时候使用
递归总是轻而易举的。
这是二叉树前序遍历-使用递归
public void preorderTraversal(TreeNode root){
if(root==null)
return;
System.out.print(root.data+" ");
preorderTraversal(root.left);
preorderTraversal(root.right);
}
1.简单几行代码就可以将一颗二叉树遍历完
但是递归其中的运算是如何的,我们不需
要知道,计算机会用函数栈自己解决,
初学递归时,会陷入一种困境,我们总是
想钻进递归方法里把每一步都缕清,事实上
人脑是不可能把每一步的结果都想出来的,
就算写在纸上也无法思考清楚。当然,
我们也不需要去钻今递归代码里,我们只
需要明白递归用来干什么就行。
2.在二叉树的前序遍历中,我们知道前序遍历
是先打印根结点,再打印左子树,然后打印
右子树。对于树中的每一个结点都符号这个
要求,我们不需要关心左子树还有左子树,
左子树还有右子树,右子树还有右子树等等
无穷无尽的问题
因为每一个结点都必须遵守这样的规定,
同样,我们也无需过分关心结点为空怎么办
空结点的处理应该是细节问题,它不影响
前序遍历的规定,放过细节,关心策略。