剑指 Offer II 056. 二叉搜索树中两个节点之和

75 阅读1分钟

剑指 Offer II 056. 二叉搜索树中两个节点之和

将每个节点值放入set中,如果找了一个key2为k-node.val,说明之前有一个key1可以让key1+key2 = node.val,也就是说存在,于是就返回true

var findTarget = function (root, k) {
  var set = new Set();
  var f = function (node) {
    if (node === null) return false;
    if (set.has(k - node.val)) return true;
    set.add(node.val);
    return f(node.left) || f(node.right);
  };
  return f(root);
};