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);
}
}
發佈了66 篇原創文章 · 獲贊 138 · 訪問量 27萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章