diff --git a/leetcode/binary_trees/230_Kth_smallest_element_in_BST/main.go b/leetcode/binary_trees/230_Kth_smallest_element_in_BST/main.go new file mode 100644 index 0000000..19d468f --- /dev/null +++ b/leetcode/binary_trees/230_Kth_smallest_element_in_BST/main.go @@ -0,0 +1,22 @@ +package main + +type TreeNode struct { + Val int + Left *TreeNode + Right *TreeNode +} + +func traverse(root *TreeNode, res *[]int) { + if root == nil { + return + } + traverse(root.Left, res) + *res = append(*res, root.Val) + traverse(root.Right, res) +} + +func kthSmallest(root *TreeNode, k int) int { + var result []int + traverse(root, &result) + return result[k-1] +}