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。code

doc

相關文章
相關標籤/搜索