二叉树的递归遍历

二叉树遍历

前序遍历

static List<Integer> list = new ArrayList<>();   

//前序遍历
public static List<Integer> preorderTraversal(TreeNode root) {

if(root == null)
{
return null;
}
list.add(root.val);
preorderTraversal(root.left);
preorderTraversal(root.right);
return list;
}

中序遍历

static List<Integer> list = new ArrayList<>();   

//中序遍历
public static List<Integer> midorderTraversal(TreeNode root) {

if(root == null)
{
return null;
}
midorderTraversal(root.left);
list.add(root.val);
midorderTraversal(root.right);
return list;
}

后序遍历

public  static List<Integer> BhorderTraversal(TreeNode root) {   

if(root == null)
{
return null;
}

BhorderTraversal(root.left);
BhorderTraversal(root.right);
list.add(root.val);
return list;
}

其实这三个遍历差不多,只是list的添加元素的代码位置不一样
所谓的前序,中序,后序就是中间节点的位置


今日诗词
posted @ 2023-02-02 08:50  兔子春  阅读(36)  评论(0)    收藏  举报