題目描述:
給定乙個二叉搜尋樹和乙個目標結果,如果 bst 中存在兩個元素且它們的和等於給定的目標結果,則返回 true。
案例 1:
輸入:5
/ 3 6
/ \
2 4 7
target = 9
輸出: true
案例 2:
輸入:5
/ 3 6
/ \
2 4 7
target = 28
輸出: false
/**
* definition for a binary tree node.
* public class treenode
* }*/class solution
}} return false;
} public void get(listlist,treenode node)else
}}
當然這種方法比較笨拙,但是能夠完善
他這裡使用的是hashset來完善,覺得這個比我的list效果要好一些。
看看別人完善的思路:
public boolean findtarget(treenode root, int k)
public boolean preorder(treenode root,hashsethashset,int k)
hashset.add(root.val);
return preorder(root.left,hashset,k) || preorder(root.right,hashset,k);
}
653 兩數之和 IV 輸入 BST
給定乙個二叉搜尋樹和乙個目標結果,如果 bst 中存在兩個元素且它們的和等於給定的目標結果,則返回 true。案例 1 輸入 5 3 6 2 4 7target 9 輸出 true 案例 2 輸入 5 3 6 2 4 7target 28 輸出 false 分析 先先序遍歷樹,將所有節點值放入陣列,...
兩數之和,三數之和
兩數之和 方法一 暴力 throw new illegalargumentexception 時間複雜度 o n 2 空間複雜度 o 1 public int twosum int nums,int target throw newillegalargumentexception no twosum...
leetcode 兩數之和與兩數之和
題目描述 給定乙個已按照公升序排列 的有序陣列,找到兩個數使得它們相加之和等於目標數。函式應該返回這兩個下標值 index1 和 index2,其中 index1 必須小於 index2。說明 返回的下標值 index1 和 index2 不是從零開始的。你可以假設每個輸入只對應唯一的答案,而且你不...