LeetCode: Convert Sorted Array to Binary Search Tree [108]
2014-06-04 08:00
609 查看
【题目】
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.【题意】
给定一个已排序的数组(不存在重复元素),将它转换成一棵平衡二叉搜索树。【思路】
由于平衡二叉树要求左右子树的高度差绝对值相遇等于1,也就是说左右子树尽可能包含相同数目节点。则使用二分法来解本题即可。
【代码】
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: TreeNode *build(vector<int>&num, int low, int high){ if(low>high)return NULL; int mid = (low+high)/2; //生成根节点 TreeNode*root=(TreeNode*)malloc(sizeof(TreeNode)); root->val=num[mid]; //生成左子树 TreeNode*left=build(num, low, mid-1); //生成右子树 TreeNode*right=build(num, mid+1, high); //构造二叉树 root->left=left; root->right=right; return root; } TreeNode *sortedArrayToBST(vector<int> &num) { int size=num.size(); if(size==0)return NULL; return build(num, 0, size-1); } };
相关文章推荐
- leetcode 108: Convert Sorted Array to Binary Search Tree
- [Leetcode 108, Meidum] Convert Sorted Array to Binary Search Tree
- LeetCode(108)Convert Sorted Array to Binary Search Tree
- LeetCode108_Convert SortedArray to BinarySearchTree(将有序数组转成二叉排序树) Java题解
- LeetCode 108 Convert Sorted Array to Binary Search Tree
- [leetcode 108] Convert Sorted Array to Binary Search Tree
- LeetCode 108: Convert Sorted Array to Binary Search Tree
- LeetCode(108) Convert Sorted Array to Binary Search Tree
- leetcode[108]:Convert Sorted Array to Binary Search Tree
- [LeetCode]108 Convert Sorted Array to Binary Search Tree
- LeetCode_108 Convert Sorted Array to Binary Search Tree
- leetcode[108]Convert Sorted Array to Binary Search Tree
- Leetcode 108 Convert Sorted Array to Binary Search Tree
- Leetcode 108 Convert Sorted Array to Binary Search Tree
- [leetcode-108]Convert Sorted Array to Binary Search Tree(java)
- Convert Sorted Array to Binary Search Tree - LeetCode 108
- [Leetcode 32] 108 Convert Sorted Array to Binary Search Tree
- Leetcode 108 Convert Sorted Array to Binary Search Tree 有序数组构造平衡二叉查找树
- LeetCode(108) Convert Sorted Array to Binary Search Tree
- [LeetCode]: 108: Convert Sorted Array to Binary Search Tree