1. 程式人生 > >589,N叉樹的前序遍歷

589,N叉樹的前序遍歷

給定一個 N 叉樹,返回其節點值的前序遍歷

例如,給定一個 3叉樹 :

 

 

返回其前序遍歷: [1,3,5,6,2,4]

 

說明: 遞迴法很簡單,你可以使用迭代法完成此題嗎?

 

/*
// Definition for a Node.
class Node {
    public int val;
    public List<Node> children;

    public Node() {}

    public Node(int _val,List<Node> _children) {
        val = _val;
        children = _children;
    }
};
*/
class Solution {
    public List<Integer> preorder(Node root) {
        List<Integer> res=new ArrayList<>();
         preorder(root, res);
        return res;    
        
    }
private  void preorder(Node root, List<Integer> res) {
        if(root == null) {
            return;
        }
        res.add(root.val);
        //for(final Node n : root.children)
         for(int i=0;i<root.children.size();i++)
        preorder(root.children.get(i), res);
    }
}