s0669
This commit is contained in:
17
src/s0669_trim_a_binary_search_tree.cpp
Normal file
17
src/s0669_trim_a_binary_search_tree.cpp
Normal file
@@ -0,0 +1,17 @@
|
||||
#include "s0669_trim_a_binary_search_tree.hpp"
|
||||
|
||||
TreeNode* S0669::trimBST(TreeNode* root, int low, int high) {
|
||||
if (root == nullptr) return nullptr;
|
||||
if (low <= root->val && root->val <= high) {
|
||||
// 如果根节点的值位于范围内,则对左右子树进行剪裁
|
||||
root->left = trimBST(root->left, low, high);
|
||||
root->right = trimBST(root->right, low, high);
|
||||
return root;
|
||||
} else if (root->val < low) {
|
||||
// 如果根节点的值小于 low, 把根节点和左子树都剪裁掉
|
||||
return trimBST(root->right, low, high);
|
||||
} else {
|
||||
// 如果根节点的值大于 high, 把根节点和右子树都剪裁掉
|
||||
return trimBST(root->left, low, high);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user