思路
遍历树,用hash保存节点值,递归判断
类似普通的2sum
code
var m map[int]bool
func helper(root *TreeNode, k int) bool {
if root == nil {
return false
}
if _, ok := m[k-root.Val]; ok {
return true
}
m[root.Val] = true
return helper(root.Left, k) || helper(root.Right, k)
}
func findTarget(root *TreeNode, k int) bool {
m = make(map[int]bool)
return helper(root, k)
}
更多内容请移步我的repo:https://github.com/anakin/golang-leetcode