leetcode 669.修剪二叉搜索树,释放内存的时候出现问题

报错程序:
这种写法虽然逻辑正确,但是内存依然会报错
- 这里的delete结束之后直接return结束当前层的递归,所以是不会有内存问题的
- 走到root->left那一句的话,前面是并没有delete root的
class Solution {
public:
TreeNode* trimBST(TreeNode* root, int low, int high) {
if(root==nullptr){
return nullptr;
}
//如果root不满足条件,需要一直递归,直到找到满足条件的来继位为止
if(root->val<low){
TreeNode* right = trimBST(root->right, low, high);
delete root; // 删除节点
return right; // 返回修剪后的子树
}
if(root->val