0
点赞
收藏
分享

微信扫一扫

二叉搜索树染

刘员外__ 2022-04-16 阅读 37
算法

题目链接

在这里插入图片描述
在这里插入图片描述

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
	set<int>S;
    void dfs(TreeNode* root)
    {
    	if(!root)return ;
    	S.insert(root->val);
    	dfs(root->left);
    	dfs(root->right);
	}
	int getNumber(TreeNode* root, vector<vector<int>>& ops) {
		dfs(root);
        reverse(ops.begin(),ops.end());
        int res=0;
        for(auto op : ops)
        {
            int l=op[1],r=op[2];
            while(1)
            {
                auto t=S.lower_bound(l);
                if(t==S.end()||*t>r)break;
                S.erase(t);
                if(op[0]==1)res++;
            }
        }
        return res;
    }
};
举报

相关推荐

0 条评论