[Leetcode 108, Meidum] Convert Sorted Array to Binary Search Tree
2015-07-23 01:39
525 查看
Problem:
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
Analysis:
Solutions:
C++:
Python:
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
Analysis:
Solutions:
C++:
TreeNode* BuildBSTAux(vector<int>& nums, int start, int end) { TreeNode *root = NULL; if(start == end) root= new TreeNode(nums[start]); else if(start < end) { int mid = (start + end) / 2; root = new TreeNode(nums[mid]); if(start == mid - 1) root->left = new TreeNode(nums[start]); else if(start < mid - 1) root->left = BuildBSTAux(nums, start, mid - 1); if(end == mid + 1) root->right = new TreeNode(nums[end]); else if(end > mid + 1) root->right = BuildBSTAux(nums, mid + 1, end); } return root; } TreeNode* sortedArrayToBST(vector<int>& nums) { if(nums.empty()) return NULL; else if(nums.size() == 1) return new TreeNode(nums[0]); TreeNode *root = BuildBSTAux(nums, 0, nums.size() - 1); return root; }Java:
Python:
相关文章推荐
- 百练oj2703
- codeforces 560C Gerald's Hexagon(找规律)
- [Leetcode 50, Medium] Pow(x, n)
- HDU 1707 Spring-outing Decision
- 浅谈Linux文件操作
- 浅谈Linux文件操作
- [Leetcode 106, Medium] Construct Binary Tree from Inorder and Postorder Traversal
- altium designer 原理图复制出错
- [Leetcode 105, Medium] Construct Binary Tree from Preorder and Inorder Traversal
- poj 3468 A Simple Problem with Integers
- Unity3D之文件读写文件
- 【实习项目记录】(一)加密算法MD5和RSA
- 百练oj1192(字符串)
- 一起talk C栗子吧(第二十一回:C语言实例--表达式求值)
- cocos2d-x 入门之初次使用
- Codeforces Round #313 (Div. 2) C
- fragment学两个demo就会用(二)
- tftp服务器完成linux内核下载
- CF559C
- 前端工具bower wiredep