欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

144. 二叉树的前序遍历

程序员文章站 2022-03-03 11:13:47
...

二叉树的前序遍历

给定一个二叉树,返回它的 前序 遍历。
示例:

输入: [1,null,2,3]  
   1
    \
     2
    /
   3 
输出: [1,2,3]

思路+代码+注释:

public List<Integer> preorderTraversal(TreeNode root) {
        /*
        思路:
        前序遍历-根左右
        采用递归遍历树的节点,当节点为null时直接返回,当节点不为null时添加节点的值到res中,然后递归遍历左子节点,递归遍历右子节点
         */
        List<Integer> res=new ArrayList<>();
        preorderTraversal(root,res);
        return res;
    }

    private void preorderTraversal(TreeNode node,List<Integer> res)
    {
        if (node==null)
        {
            return;
        }
        res.add(node.val);
        preorderTraversal(node.left,res);
        preorderTraversal(node.right,res);
    }