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