在前面的文章中,我已经降讲到了二叉树的前中后序的概念与结构,这里我带大家来实现一下领扣中二叉树的前中后序遍历代码:
一、前序遍历
/**
* 二叉树的前序遍历;
*/
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
class TreeNode{
int val;
TreeNode left;
TreeNode right;
public TreeNode(int val) {
this.val = val;
}
}
public class Preorder {
List<Integer> list = new ArrayList<>();
public List<Integer> Preorder(TreeNode root){
if (root == null)
return Collections.EMPTY_LIST;
list.add(root.val);
Preorder(root.left);
Preorder(root.right);
return list;
}
}
二、中序遍历(两个方法)
/**
* 二叉树的中序遍历
*/
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;
import java.util.Collections;
class TreeNode1{
int