easy
给定一个 n 叉树的根节点 root ,返回 其节点值的 后序遍历 。
n 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。
输入:root = [1,null,3,2,4,null,5,6]
输出:[5,6,3,2,4,1]
思路:
典型板子题,把根节点放在最后,一个递归完事。
/**
* // Definition for a Node.
* function Node(val,children) {
* this.val = val;
* this.children = children;
* };
*/
/**
* @param {Node|null} root
* @return {number[]}
*/
var postorder = function(root) {
//初始化一个数组
let res = []
//基础情况判定
if(root===null){
return []
}
//处理孩子节点
back(root.children,res)
//后序遍历处理自己
res.push(root.val)
return res
};
function back(rootChildren,res){
//孩子节点依次处理
rootChildren.forEach((i)=>{
//遍历孩子的孩子
back(i.children,res)
//后序遍历自己
res.push(i.val)
})
}