108. 将有序数组转换为二叉搜索树

题目描述

给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。

高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。

解题思路

class Solution {
public:
    vector<int>v;
    TreeNode*f(int l,int r){
        int n=r-l;if(n<=0)return 0;
        int m=l+n/2;return new TreeNode(v[m],f(l,m),f(m+1,r));
    }
    TreeNode* sortedArrayToBST(vector<int>&ve) {
        v=ve;int n=v.size();
        return f(0,n);
    }
};

学习感想