1. 层序遍历/先序遍历DLR
java
//定义层序遍历
public void DLR(root){
Queue<TreeNode> res=new LinkedList<>();
List<Double> result=new ArrayList<>();
res.add(root);
while(!res.isEmpty()){
//获取当前层的节点个数
int size=res.size();
for(int i=0;i<size;i++){
//获取当前层节点
TreeNode temp=res.peek();
res.poll();
//获取下一层节点
if(temp.left!=null){
res.add(temp.left);
}
if(temp.right!=null){
res.add(temp.right);
}
}
}
}
2. 中序遍历LDR
java
public static void LDR(TreeNode root){
if(root==null) return;
LDR(root.left);
System.out.println(root.val+"->");
LDR(root.right);
}
3. 后序遍历RLD
java
public voir LDR(TreeNode root){
if(root==null) return;
LDR(root.left);
LDR(root.right);
System.out.println(root.val+"->");
}