给定一个 N 叉树,返回其节点值的前序遍历。
例如,给定一个 3叉树
:
返回其前序遍历: [1,3,5,6,2,4]
。
说明: 递归法很简单,你可以使用迭代法完成此题吗?
class Solution { public Listres = new ArrayList<>(); public List preorder(Node root) { if(root == null) return res; res.add(root.val); for(Node node : root.children) { preorder(node); } return res; }}
/*// Definition for a Node.class Node { public int val; public Listchildren; public Node() {} public Node(int _val,List _children) { val = _val; children = _children; }};*/class Solution { public List preorder(Node root) { List res = new ArrayList (); preOrder(res,root); return res; } public void preOrder(List res, Node root) { if(root == null) return; res.add(root.val); for(int i=0; i