zl程序教程

您现在的位置是:首页 >  其他

当前栏目

每日一题 --- 590. N 叉树的后序遍历[力扣][Go]

2023-03-14 23:00:35 时间

题目:

给定一个 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
}

这一题与前两天的正序遍历相同,解题思路也相同,都是使用深度搜索,当然广度搜索也行

image