java实现二叉树的三种遍历方式

import java.util.*;

public class BianLiDui {

public class Node{
int val = 0;
Node left = null;
Node right = null;
public Node(int val) {
this.val = val;
}
}

List<Node> list = new ArrayList<Node>();
//前序遍历
public void preOrder(Node node){
list.add(node);
if(node.left != null) {
preOrder(node.left);
}
if(node.right != null) {
preOrder(node.right);
}
}
//中序遍历
public void inOrder(Node node) {
if(node.left != null) {
inOrder(node.left);
}
list.add(node);
if(node.right != null) {
inOrder(node.right);
}
}
//后序遍历
public void postOrder(Node node) {
if(node.left != null) {
postOrder(node.left)
}
if(node.right != null) {
postOrder(node.right)
}
list.add(node);
}
}

猜你喜欢

转载自blog.csdn.net/data8866/article/details/80044433