我是靠谱客的博主 笨笨马里奥,最近开发中收集的这篇文章主要介绍LeetCode-669. 修剪二叉搜索树【DFS,二叉搜索树】题目描述:如图解题思路一:递归,就是深度优先搜索。对于root有三种情况。一:root的值小于low,那么将左半部分全部砍掉。二:root的值大于high,那么将右半部分全部砍掉。二:root的值介于low与high之间,那么将root的左子树和右子树分别作为新的根节点进行递归。解题思路二:暂无解题思路三:暂无,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
题目描述:如图
解题思路一:递归,就是深度优先搜索。对于root有三种情况。一:root的值小于low,那么将左半部分全部砍掉。二:root的值大于high,那么将右半部分全部砍掉。二:root的值介于low与high之间,那么将root的左子树和右子树分别作为新的根节点进行递归。
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode() : val(0), left(nullptr), right(nullptr) {}
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
* };
*/
class Solution {
public:
TreeNode* trimBST(TreeNode* root, int low, int high) {
if(root==nullptr) return nullptr;
if(root->val<low){
return trimBST(root->right,low,high);
}else if(root->val>high){
return trimBST(root->left,low,high);
}else{
root->left=trimBST(root->left,low,high);
root->right=trimBST(root->right,low,high);
return root;
}
}
};
解题思路二:暂无
解题思路三:暂无
最后
以上就是笨笨马里奥为你收集整理的LeetCode-669. 修剪二叉搜索树【DFS,二叉搜索树】题目描述:如图解题思路一:递归,就是深度优先搜索。对于root有三种情况。一:root的值小于low,那么将左半部分全部砍掉。二:root的值大于high,那么将右半部分全部砍掉。二:root的值介于low与high之间,那么将root的左子树和右子树分别作为新的根节点进行递归。解题思路二:暂无解题思路三:暂无的全部内容,希望文章能够帮你解决LeetCode-669. 修剪二叉搜索树【DFS,二叉搜索树】题目描述:如图解题思路一:递归,就是深度优先搜索。对于root有三种情况。一:root的值小于low,那么将左半部分全部砍掉。二:root的值大于high,那么将右半部分全部砍掉。二:root的值介于low与high之间,那么将root的左子树和右子树分别作为新的根节点进行递归。解题思路二:暂无解题思路三:暂无所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复