理解二叉树的遍历(算法村第七关白银挑战)

二叉树的前序遍历

144. 二叉树的前序遍历 - 力扣(LeetCode)

给你二叉树的根节点 root ,返回它节点值的 前序 遍历。

示例 1:

理解二叉树的遍历(算法村第七关白银挑战)_第1张图片
输入:root = [1,null,2,3]
输出:[1,2,3]

LeetCode以及面试中提供的方法可能无法直接用来递归,此时需要我们再创建一个方法

public List<Integer> preorderTraversal(TreeNode root)
{
    ArrayList<Integer> list = new ArrayList<>();
    preOrder(root, list);
    return list;
}

public void preOrder(TreeNode root, List<Integer> list)
{
    if (root == null)
        return;

    list.add(root.val);
    preOrder(root.left, list);
    preOrder(root.right, list);
}

你可能感兴趣的:(算法村,算法)