我想將我的Convert Sorted Array轉換爲Java中的BST程序。因爲我的函數以分而治之的方式運行,所以我認爲它是可並行化的,但一直堅持實現。如果你們能告訴我如何在這裏申請線程,這將是非常有幫助的。並行化將分類數組轉換爲二進制搜索樹功能
在此先感謝!
// Definition for a binary tree node.
public class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) { val = x; }
}
public class Solution {
public TreeNode sortedArrayToBST(int[] nums) {
if (nums == null) {
return null;
}
return sortedArrayToBST(nums, 0, nums.length - 1);
}
private TreeNode sortedArrayToBST(int[] nums, int start, int end) {
if (start > end) {
return null;
}
int mid = start + (end - start)/2;
TreeNode node = new TreeNode(nums[mid]);
node.left = sortedArrayToBST(nums, start, mid - 1);
node.right = sortedArrayToBST(nums, mid + 1, end);
return node;
}
}
一種選擇是使用['ForkJoinPool'(https://docs.oracle。 COM/JavaSE的/ 7 /文檔/ API/JAVA/util的/並行/ ForkJoinPool.html)。 – Andreas
@Andreas酷!看起來Divide and Conquer是ForkJoinPool的完美用例。 – gyoho