每日一题 0224
(2022.02.24)每日一题 修剪二叉搜索树
今天上班第一天,好累!
今天都没力气思考题目。。。。
先把题解写上,大致思路差不多,但是还是没写出来。。。
2022.02.25 更新
class Solution {
public:
TreeNode* trimBST(TreeNode* root, int low, int high) {
//进入每一个根节点,需要去判断该根节点的值与low值和high值的关系
//根据二叉搜索树的性质,根节点的左子树都小于根节点,根节点的右子树都大于根节点
//根据题目意思,若根节点的值小于low值,那么根节点及其左子树都应该被修剪,同理,根节点的值大于high值,那么根节点及其右子树都该被修剪。
if (root == nullptr) return nullptr;
if(root->val < low){
return trimBST(root->right,low,high);
}
if(root->val > high){
return trimBST(root->left,low,high);
}
root->left = trimBST(root->left,low,high);
root->right = trimBST(root->right,low,high);
return root;
}
};

浙公网安备 33010602011771号