本文次要记录一下leetcode树之N叉树的前序遍历

题目

给定一个 N 叉树,返回其节点值的前序遍历。例如,给定一个 3叉树 :![](https://assets.leetcode-cn.com/aliyun-lc-upload/uploads/2018/10/12/narytreeexample.png)返回其前序遍历: [1,3,5,6,2,4]。 阐明: 递归法很简略,你能够应用迭代法实现此题吗?起源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/n-ary-tree-preorder-traversal著作权归领扣网络所有。商业转载请分割官网受权,非商业转载请注明出处。

题解

/*// Definition for a Node.class Node {    public int val;    public List<Node> children;    public Node() {}    public Node(int _val) {        val = _val;    }    public Node(int _val, List<Node> _children) {        val = _val;        children = _children;    }};*/class Solution {    List<Integer> result = new ArrayList<Integer>();    public List<Integer> preorder(Node root) {        if(root == null) {            return result;        }                    result.add(root.val);                for(Node child:root.children){            preorder(child);        }                    return result;    }}

小结

这里采纳递归的办法,与二叉树前序遍历不同的时,N叉树不是遍历左右子树,而是遍历其children。

doc

  • N叉树的前序遍历