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 list = new ArrayList();
//前序遍历
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);
}
}

你可能感兴趣的:(数据结构,算法,二叉树)