#include <stdio.h> TreeNode *sortedArrayToBST(vector<int> &num){ if(num.size()==0) return NULL; if(num.size()==1){ TreeNode*parent =new TreeNode(num[0]); return parent; } int first=0; int last=(int)num.size()-1; return helper(num,first,last); } TreeNode* helper(vector<int>num,int first,int last){ if(first>last){ return NULL; } if(first==last){ TreeNode* parent=new TreeNode(num[first]); return parent; } int mid=(first+last)/2; TreeNode*leftchild=helper(num,first,mid-1); TreeNode*righttchild=helper(num,mid+1,last); TreeNode *parent=new TreeNode(num[mid]); parent->left=leftchild; parent->right=rightchild; return parent; }
有序数组构建平衡二叉树
猜你喜欢
转载自blog.csdn.net/jwy2014/article/details/79944866
今日推荐
周排行