while (!queue.isEmpty()) { TreeNodenode= queue.poll(); dict.put(node.val, dict.getOrDefault(node.val, 0) + 1); if (node.left != null) queue.add(node.left); if (node.right != null) queue.add(node.right); }
for (Map.Entry<Integer, Integer> entry : dict.entrySet()) { intval= entry.getKey(); inttar= k - val; if (val == tar && entry.getValue() > 1) returntrue; if (val != tar && dict.containsKey(tar)) returntrue;