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);
    }
}

猜你喜欢

转载自blog.csdn.net/huanghuansen/article/details/83587129