Leetcode: Convert Sorted Array to Binary Search Tree
来源:互联网 发布:淘宝旺旺mac版 编辑:程序博客网 时间:2024/06/05 06:26
http://oj.leetcode.com/problems/convert-sorted-array-to-binary-search-tree/
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: int leftCnt(int total){ if(total==1) return 0; int left=1; while(1){ int right=total-1-left; if(left==right) break; if(left>right){ right=left/2; left=min(left,total-1-right); break; } left=left*2+1; } return left; } void makeNode(TreeNode* &root, vector<int> &num, int start, int end){ if(start==end){ root=new TreeNode(num[start]); } else if(start<end){ int left=leftCnt(end-start+1); int right=end-start-left; root=new TreeNode(num[start+left]); makeNode(root->left,num,start,start+left-1); if(right>0) makeNode(root->right,num,start+left+1,end); } else root=NULL; } TreeNode* sortedArrayToBST(vector<int> &num) { // Start typing your C/C++ solution below // DO NOT write int main() function TreeNode *root=NULL; makeNode(root,num,0,num.size()-1); return root; }};
- 【LeetCode】Convert Sorted Array to Binary Search Tree && Convert Sorted List to Binary Search Tree
- 【LeetCode】convert-sorted-link-to-binary-search-tree & convert-sorted-array-to-binary-search-tree
- Leetcode - Tree - Convert Sorted Array to Binary Search Tree
- *(leetcode) Convert Sorted Array to Binary Search Tree (tree)
- LeetCode[Tree]: 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 11: 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
- Leetcode 108 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: Climbing Stairs
- Leetcode: Remove Duplicates from Sorted List
- Leetcode: Search Insert Position
- Leetcode: Remove Duplicates from Sorted Array
- JS限制textbox或textarea输入字符长度
- Leetcode: Convert Sorted Array to Binary Search Tree
- Leetcode: Unique Binary Search Trees
- Leetcode: Remove Element
- Leetcode: Populating Next Right Pointers in Each Node
- Leetcode: Maximum Subarray
- Leetcode: Merge Two Sorted Lists
- Leetcode: Binary Tree Inorder Traversal
- Leetcode: Roman to Integer
- Leetcode: Single Number