Two Sum IV - Input is a BST
Thoughts
Code
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
private void inOrder(TreeNode node, List<Integer> list) {
if (node == null) {
return;
}
inOrder(node.left, list);
list.add(node.val);
inOrder(node.right, list);
}
public boolean findTarget(TreeNode root, int k) {
List<Integer> list = new ArrayList<>();
inOrder(root, list);
for (int i = 0, j = list.size() - 1; i < j; ) {
if (list.get(i) + list.get(j) == k) {
return true;
} else if (list.get(i) + list.get(j) < k) {
i++;
} else {
j--;
}
}
return false;
}
}Analysis
Ver.2
Last updated