LeetCode hot100——将有序数组转换为二叉搜索树

LeetCode hot100——将有序数组转换为二叉搜索树
题目给你一个整数数组nums其中元素已经按升序排列请你将其转换为一棵 平衡 二叉搜索树。示例 1输入nums [-10,-3,0,5,9]输出[0,-3,9,-10,null,5]解释[0,-10,5,null,-3,null,9] 也将被视为正确答案示例 2输入nums [1,3]输出[3,1]解释[1,null,3] 和 [3,1] 都是高度平衡二叉搜索树。提示1 nums.length 104-104 nums[i] 104nums按严格递增顺序排列题解/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val val; * this.left left; * this.right right; * } * } */ class Solution { public TreeNode sortedArrayToBST(int[] nums) { return build(nums,0,nums.length - 1); } private TreeNode build(int[] nums,int left,int right){ if(left right) return null; int mid (left right) / 2; TreeNode root new TreeNode(nums[mid]);//区间中点作根节点 root.left build(nums,left,mid - 1); root.right build(nums,mid 1,right); return root; } }

最新新闻

日新闻

周新闻

月新闻