尝试解决 LeetCode 上的二叉树前序遍历(https://leetcode-cn.com/problems/binary-tree-preorder-traversal/submissions/)。
按照网上普遍教程的惯例,我的代码如下:
```go
/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
var res []int
func preorderTraversal(root *TreeNode) []int {
if root == nil {
return res
}
res = append(res, root.Val)
preorderTraversal(root.Left)
preorderTraversal(root.Right)
return res
}
```
使用官方的测试用例,能够成功【执行代码】并输出结果,而且对比之后,也无异样。请看下图中的蓝色框框部分:
但是【提交】后,就出现了问题。第一个测试用例都无法通过,请看下图中的红色框框部分:
![image.png](https://static.studygolang.com/210514/7161257473971a8a890bacf2c4c0d953.png)
我很纳闷的是:为什么给了一个空值,却输出了一个 `[1, 2, 3]` 的切片呢?我的代码里也没有硬编码 `1, 2, 3` 这样的值。
有疑问加站长微信联系(非本文作者)