天天看點

leetcode樹之N叉樹的前序周遊

本文主要記錄一下leetcode樹之N叉樹的前序周遊

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叉樹的前序周遊