我是靠谱客的博主 笨笨马里奥,最近开发中收集的这篇文章主要介绍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的左子树和右子树分别作为新的根节点进行递归。解题思路二:暂无解题思路三:暂无所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部