给定一个 N 叉树,返回其节点值的前序遍历。 例如,给定一个
3叉树
:
返回其前序遍历: [1,3,5,6,2,4]
。
利用递归思想,先访问根节点,再遍历子节点;
List<Integer> list = new ArrayList<>();
public List<Integer> preorder(Node root) {
if(root == null){
return list;
}
// 访问根节点
list.add(root.val);
// 遍历子节点
if(root.children != null){
for(Node child : root.children){
// 递归,将子节点作为根节点传入 preorder 函数遍历
preorder(child);
}
}
return list;
}