LeetCode_108.将有序数组转换为二叉搜索树
生活随笔
收集整理的這篇文章主要介紹了
LeetCode_108.将有序数组转换为二叉搜索树
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題解_C
題解_Java_1
/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode(int x) { val = x; }* }*/ class Solution {public TreeNode sortedArrayToBST(int[] nums) {return helper(nums, 0, nums.length - 1);}public TreeNode helper(int[] nums, int left, int right) {if (left > right) {return null;}// 總是選擇中間位置左邊的數字作為根節點int mid = (left + right) / 2;TreeNode root = new TreeNode(nums[mid]);root.left = helper(nums, left, mid - 1);root.right = helper(nums, mid + 1, right);return root;} }題解_Java_2
/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode(int x) { val = x; }* }*/ class Solution {public TreeNode sortedArrayToBST(int[] nums) {return dfs(nums, 0, nums.length - 1);}private TreeNode dfs(int[] nums, int lo, int hi) {if (lo > hi) {return null;} // 以升序數組的中間元素作為根節點 root。int mid = lo + (hi - lo) / 2;TreeNode root = new TreeNode(nums[mid]);// 遞歸的構建 root 的左子樹與右子樹。root.left = dfs(nums, lo, mid - 1);root.right = dfs(nums, mid + 1, hi); return root;} } 與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的LeetCode_108.将有序数组转换为二叉搜索树的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode_559.N叉树的最大深
- 下一篇: LeetCode_226.翻转二叉树