3
typedef vector<int>::iterator vecIt;4
TreeNode *buildTree(vector<int> &listToVec, vecIt start, vecIt end) {5
if (start >= end) return NULL;6
vecIt midIt = start + (end - start) / 2;7
TreeNode *newNode = new TreeNode(*midIt);8
newNode->left = buildTree(listToVec, start, midIt);9
newNode->right = buildTree(listToVec, midIt + 1, end);12
TreeNode *sortedListToBST(ListNode *head) {13
vector<int> listToVec;15
listToVec.push_back(head->val);18
return (buildTree(listToVec, listToVec.begin(), listToVec.end()));