N叉树的前序遍历
给定一个 N 叉树,返回其节点值的前序遍历。
例如,给定一个 3叉树 :
返回其前序遍历: [1,3,5,6,2,4]。
思路+代码+注释:
public List<Integer> preorder(Node root) {
/*
思路:前序遍历是根左右,先遍历根节点然后按顺序递归遍历孩子节点,当没有孩子节点时返回
*/
List<Integer> res=new ArrayList<>();
if (root==null)
{
return res;
}
preorder(root,res);
return res;
}
private void preorder(Node node,List<Integer> res)
{
res.add(node.val);
List<Node> childList=node.children;
if (childList.size()==0)
{
return;
}else {
for (int i = 0; i < childList.size(); i++) {
preorder(childList.get(i),res);
}
}
}