N 叉树的后序遍历
题目链接:力扣题目链接
难度:简单
给定一个 n 叉树的根节点 root ,返回 其节点值的 后序遍历 。
n 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。
示例
输入:root = [1,null,3,2,4,null,5,6]
输出:[5,6,3,2,4,1]
思路
递归思路比较简单,N叉树的前序遍历与二叉树的后序遍历的思路和方法基本一致,可以参考「145. 二叉树的后序遍历」的方法,每次递归时,先递归访问每个孩子节点,然后再访问根节点即可。
递归代码
class Solution{
public List<Integer> postorder(Node root) {
List<Integer> result = new ArrayList<>();
postorder(root,result);
return result;
}
private void postorder(Node root,List<Integer> result){
if(root == null){
return;
}
for(Node child :root.children){
postorder(child,result);
}
result.add(root.val);
}
}