网站后缀 .cgi,怎么注册wordpress,网站栏目内链怎么做,广告优化师培训思路#xff1a;
1.树中的第一个值为根#xff08;数组的第一个值#xff09;#xff0c;小于根的值存放在左子树中#xff0c;大于根的值存放在右子树中#xff1b;
2.利用递归对左右子树 /*** Definition for a binary tree node.* struct TreeNode {* int val;*… 思路
1.树中的第一个值为根数组的第一个值小于根的值存放在左子树中大于根的值存放在右子树中
2.利用递归对左右子树 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:TreeNode* bstFromPreorder(vectorint preorder) {return fun(preorder,0,preorder.size()-1);}TreeNode* fun(vectorint preorder,int left,int right){//如果左边大于右边直接返回空if(leftright) return nullptr;//获取根节点的值int root preorder[left];TreeNode *node new TreeNode(root);//找到大于根节点的值并以此为左右子树的分界int mid left;while(midright1){if(preorder[mid]root) break;mid;}//递归生成左子树和右子树node-left fun(preorder,left1,mid-1);node-right fun(preorder,mid,right);return node;}};