他们都是一种深度遍历方式
一:前序遍历
遍历方式为:根+左子树的前序+右子树的前序
递归方法:利用递归方法,先打印根节点,再递归遍历左子树的前序,最后递归调用有右子树的前序,如果它的根节点为空时,直接返回null
//前序遍历,法1
public static void preOrderTraversal(Node root){
if(root==null){
return;
}
System.out.print(root.value);
preOrderTraversal(root.left);
preOrderTraversal(root.right);
}
//前序遍历,法2
public static List<Character> preorder(Node root){
if(root==null){
return new ArrayList<>();
}
List<Character> list=new ArrayList<>();
List<Character> leftOrder=preorder(root.left);
List<Character> rightOrder=preorder(root.right);
list.add(root.value);
list.addAll(l