题目:
给定一个 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 }
这一题与前两天的正序遍历相同,解题思路也相同,都是使用深度搜索,当然广度搜索也行