关闭

【Leetcode】Convert Sorted Array to Binary Search Tree

311人阅读 评论(0) 收藏 举报
分类:

题目链接:https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/

题目:

Given an array where elements are sorted in ascending order, convert it to a height balanced BST.

思路:

新建一个结点保存mid值,该结点的左右子树也递归生成,这是个常用的模板

算法:

	public TreeNode sortedArrayToBST(int[] nums) {
		if (nums == null || nums.length == 0) {
			return null;
		}
		return test(nums, 0, nums.length - 1);
	}

	public TreeNode test(int[] nums, int left, int right) {
		if (right < left)
			return null;
		int mid = (left + right) / 2;
		TreeNode root = new TreeNode(nums[mid]);
		root.left = test(nums, left, mid - 1);
		root.right = test(nums, mid + 1, right);
		return root;
	}


0
0
查看评论

LeetCode(108)Convert Sorted Array to Binary Search Tree

题目如下: 分析如下: 递归进行。每次找到排序数组的中点,中点左边的子排序数组构成左子树,中点右边的子排序数组构成右子树。就这样递归进行。由于每次都几乎做到了二分,所以每次的左子树和右子树的节点数量是均衡的,所以最后得到的BST树是balanced。(我不知道如何严格地证明它。) 其中的边界情况是:...
  • feliciafay
  • feliciafay
  • 2014-01-18 02:17
  • 1915

leetcode笔记:Convert Sorted Array to Binary Search Tree

将二叉查找树进行中序遍历,就可以得到一个升序排序的数组,因此,一个已经排序的数组可以看做一个中序遍历得到的数组,要得到一个高度平衡的二叉查找树,可以使得左右子树的节点数尽可能相等
  • liyuefeilong
  • liyuefeilong
  • 2016-01-02 21:40
  • 1180

Convert Sorted Array to Binary Search Tree -- LeetCode

原题链接: http://oj.leetcode.com/problems/convert-sorted-array-to-binary-search-tree/  这道题是二分查找树的题目,要把一个有序数组转换成一颗二分查找树。其实从本质来看,如果把一个数组看成一棵树(也就是以...
  • linhuanmars
  • linhuanmars
  • 2014-04-17 07:56
  • 13549

LeetCode OJ 108. Convert Sorted Array to Binary Search Tree DFS求解

很有意思的一道题目。要求根据一个有序数组,构造出一棵高度平衡的BST。 每次找到数组的中间位置,这个便是BST的 根节点。左右孩子也很好找,根节点左边区域的中间节点便是左孩子,根节点的右边区域的中间节点便是右孩子。如此递归求解 108. Convert Sorted Array to Bi...
  • bruce128
  • bruce128
  • 2016-02-25 19:35
  • 2008

Convert Sorted List to Binary Search Tree -- LeetCode

原题链接: http://oj.leetcode.com/problems/convert-sorted-list-to-binary-search-tree/  这个题是二分查找树的题目,要把一个有序链表转换成一棵二分查找树。其实原理还是跟Convert Sorted Arr...
  • linhuanmars
  • linhuanmars
  • 2014-04-17 07:57
  • 16271

108. Convert Sorted Array to Binary Search Tree Leetcode Python

Given an array where elements are sorted in ascending order, convert it to a height balanced BST. 首先对于BST left 构造bst 最后返回node. we can divide the array...
  • hyperbolechi
  • hyperbolechi
  • 2015-01-16 07:36
  • 467

LeetCode题解:Convert Sorted Array to Binary Search Tree

Convert Sorted Array to Binary Search Tree Given an array where elements are sorted in ascending order, convert it to a height balanced BST. 思路: ...
  • MagiSu
  • MagiSu
  • 2013-11-10 05:26
  • 3828

LeetCode --- 109. Convert Sorted List to Binary Search Tree

题目链接:Convert Sorted List to Binary Search Tree Given a singly linked list where elements are sorted in ascending order, convert it to a height bala...
  • makuiyu
  • makuiyu
  • 2015-04-17 16:48
  • 931

leetCode 108. Convert Sorted Array to Binary Search Tree JAVA

108. Convert Sorted Array to Binary Search Tree Given an array where elements are sorted in ascending order, convert it to a height balanced BST. ...
  • chenchaofuck1
  • chenchaofuck1
  • 2016-04-03 14:29
  • 628

Convert Binary Search Tree (BST) to Sorted Doubly-Linked List

首先是中序遍历 其次记住这是要做成double list。 从 TreeNode head, prev; private void traverse(TreeNode node){ if (node == null) { return; } traverse(node.left); node.le...
  • sjphiChina
  • sjphiChina
  • 2016-07-18 05:23
  • 375
    个人资料
    • 访问:568940次
    • 积分:8678
    • 等级:
    • 排名:第2678名
    • 原创:305篇
    • 转载:6篇
    • 译文:0篇
    • 评论:37条
    博客专栏
    文章分类
    最新评论