589. N叉树的前序遍历

N叉树的前序遍历

给定一个 N 叉树,返回其节点值的前序遍历。

例如,给定一个 3叉树 :
在这里插入图片描述
返回其前序遍历: [1,3,5,6,2,4]。

思路+代码+注释:

public List<Integer> preorder(Node root) {
        /*
        思路:前序遍历是根左右,先遍历根节点然后按顺序递归遍历孩子节点,当没有孩子节点时返回
         */
            List<Integer> res=new ArrayList<>();
            if (root==null)
            {
                return res;
            }
            preorder(root,res);
            return res;
    }

    private void preorder(Node node,List<Integer> res)
    {
        res.add(node.val);
        List<Node> childList=node.children;
        if (childList.size()==0)
        {
            return;
        }else {
            for (int i = 0; i < childList.size(); i++) {
                preorder(childList.get(i),res);
            }
        }
    }

猜你喜欢

转载自blog.csdn.net/qq_36059306/article/details/88993648