https://leetcode.com/problems/trim-a-binary-search-tree/
1. Use recursion:
//24 ms 12.9 MB/*** 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:TreeNode* trimBST(TreeNode* root, int L, int R) {if(!root) return NULL;root->left = trimBST(root->left, L, R);root->right = trimBST(root->right, L, R);if(root->val < L || root->val > R){if(root->left)root = root->left;else if(root->right)root = root->right;elseroot = NULL;}return root;}};
