题目:
给定一个 n 叉树的根节点 root ,返回 其节点值的 后序遍历 。
n 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。
解题代码:
func postorder(root *Node) []int {
var ans []int
var def func(*Node)
def = func(node *Node) {
if node == nil {
return
}
for _, child := range node.Children {
def(child)
ans = append(ans, child.Val)
}
}
if root == nil {
return nil
}
def(root)
ans = append(ans, root.Val)
return ans
}
这一题与前两天的正序遍历相同,解题思路也相同,都是使用深度搜索,当然广度搜索也行