【题解】【BST】【Leetcode】Convert Sorted Array to Binary Search Tree
2014-02-02 19:27
597 查看
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
思路:
对于树来说,自顶向下的递归是很好控制的,自底向上的递归就很容易让脑神经打结了。本来想仿照排序二叉树的中序遍历,逆向地由数组构造树,后来发现这样做需要先确定树的结构,不然会一直递归下去,不知道左树何时停止。
代码:
思路:
对于树来说,自顶向下的递归是很好控制的,自底向上的递归就很容易让脑神经打结了。本来想仿照排序二叉树的中序遍历,逆向地由数组构造树,后来发现这样做需要先确定树的结构,不然会一直递归下去,不知道左树何时停止。
代码:
TreeNode *addNode(vector<int> &num, int start, int end){ if(start > end) return NULL; int mid = (start + end)/2; TreeNode *root = new TreeNode(num[mid]); root->left = addNode(num, start, mid-1); root->right = addNode(num, mid+1, end); return root; } TreeNode *sortedArrayToBST(vector<int> &num) { return addNode(num, 0, num.size()-1); }
相关文章推荐
- 【Leetcode】Convert Sorted Array to Binary Search Tree (BST)
- LeetCode108_Convert SortedArray to BinarySearchTree(将有序数组转成二叉排序树) Java题解
- Leetcode Convert Sorted Array to Binary Search Tree 有序数组转换成二叉搜索树BST
- Convert Sorted Array to Binary Search Tree 把一个有序数组转换成BST @LeetCode
- LeetCode题解——Convert Sorted Array to Binary Search Tree
- LeetCode题解:Convert Sorted Array to Binary Search Tree
- [LeetCode]题解(python):108-Convert Sorted Array to Binary Search Tree
- Leetcode 108 Convert Sorted Array to Binary Search Tree 将一个有序数组变成BST
- [LeetCode]Convert Sorted Array to Binary Search Tree 将有序数组转换成BST
- [leetcode]Convert Sorted Array to Balanced Binary Search Tree (BST)
- LeetCode题解:Convert Sorted Array to Binary Search Tree
- LeetCode(108) Convert Sorted Array to Binary Search Tree
- [LeetCode-23] Convert Sorted Array to Binary Search Tree
- 【leetcode】Convert Sorted Array/List to Binary Search Tree
- 《leetCode》:Convert Sorted Array to Binary Search Tree
- Leetcode: Convert Sorted Array to Binary Search Tree
- [LeetCode]Convert Sorted Array to Binary Search Tree
- 【Leetcode】Convert Sorted Array to Binary Search Tree
- LeetCode | Convert Sorted Array to Binary Search Tree
- [leetcode 108] Convert Sorted Array to Binary Search Tree