package main type TreeNode struct { Val int Left *TreeNode Right *TreeNode } func main() { } func kthSmallest(root *TreeNode, k int) int { var helper func(root *TreeNode) []int helper = func(root *TreeNode) []int { if root == nil { return []int{} } tmp := make([]int, 0) tmp = append(tmp, helper(root.Left)...) tmp = append(tmp, root.Val) tmp = append(tmp, helper(root.Right)...) return tmp } res := helper(root) return res[k-1] }