LeetCode - Convert Sorted Array to Binary Search Tree
生活随笔
收集整理的這篇文章主要介紹了
LeetCode - Convert Sorted Array to Binary Search Tree
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
給出一個(gè)已排序的數(shù)組,將其轉(zhuǎn)化為二叉查找樹(shù)(BST)。
思路:取數(shù)組中間元素為根結(jié)點(diǎn)的value,則數(shù)組左側(cè)、右側(cè)分別為BST的左子樹(shù)、右子樹(shù)。遞歸可求解。代碼如下:
1 /** 2 * Definition for binary tree 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode *right; 7 * TreeNode(int x) : val(x), left(NULL), right(NULL) {} 8 * }; 9 */ 10 class Solution { 11 public: 12 TreeNode *convert(int *start, int *end) 13 { 14 if (start > end) 15 return NULL; 16 int *mid = start + (end - start)/2; 17 TreeNode *node = (TreeNode *)malloc(sizeof(TreeNode)); 18 node->val = *mid; 19 node->left = convert(start, mid-1); 20 node->right = convert(mid+1, end); 21 return node; 22 } 23 TreeNode *sortedArrayToBST(vector<int> &num) 24 { 25 if (num.size() == 0) 26 return NULL; 27 return convert(&num[0], &num[num.size()-1]); 28 } 29 };?
轉(zhuǎn)載于:https://www.cnblogs.com/bournet/p/4123564.html
總結(jié)
以上是生活随笔為你收集整理的LeetCode - Convert Sorted Array to Binary Search Tree的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 如叶梦想!
- 下一篇: 示范对外接口参数文档