문제 설명 :
1차원 int 배열을 활용해 height-balanced BST를 구현하는 문제
public TreeNode sortedArrayToBST(int[] nums) {
return createTree(nums, 0, nums.length - 1);
}
private TreeNode createTree(int[] nums, int left, int right) {
if (left > right) {
return null;
}
int mid = (right + left) / 2;
TreeNode root = new TreeNode(nums[mid]);
root.left = createTree(nums, left, mid - 1);
root.right = createTree(nums, mid + 1, right);
return root;
}
해설 :
배열의 중앙값을 찾고, 왼쪽 서브배열, 오른쪽 서브배열로 나눈뒤
각 서브 배열들을 재귀적으로 처리하여 구현했다.
'Algorithm > LeetCode' 카테고리의 다른 글
[Java] 104. Maximum Depth of Binary Tree (0) | 2023.06.13 |
---|---|
[Java] 101. Symmetric Tree (0) | 2023.06.12 |
[Java] 100. Same Tree (0) | 2023.06.12 |
[Java] 94. Binary Tree Inorder Traversal (0) | 2023.06.12 |
[Java] 88. Merge Sorted Array (0) | 2023.06.12 |