题目
给定一个 n 叉树的根节点 root ,返回 其节点值的 前序遍历 。
n 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔。
解题代码:
func preorder(root *Node) []int { var ans []int var def func(n *Node) def = func(n *Node) { if n == nil{ return } ans = append(ans, n.Val) if n.Children != nil { for _, child := range n.Children { def(child) } } } def(root) return ans }
最初的代码:
单个测试案例可以通过,但因为ans是全局变量,当多个测试案例一起测试时,答案会粘连在一起
var ans []int func preorder(root *Node) []int { if root == nil{ return nil } ans = append(ans, root.Val) if root.Children != nil { for _, child := range root.Children { preorder(child) } } return ans }