首页 > 其他分享 >关于修剪二叉搜索树中的递归思路

关于修剪二叉搜索树中的递归思路

时间:2022-12-10 08:55:47浏览次数:34  
标签:修剪 right TreeNode val 树中 二叉 high root left

/**
 * 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 root;
        }

        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;
    }
};

这里在面对不符合条件的节点时,采取的方式是跳过当前节点然后处理后面的节点。然后底下面对符合条件的节点也要对它的左子树和右子树进行遍历

标签:修剪,right,TreeNode,val,树中,二叉,high,root,left
From: https://www.cnblogs.com/yanzhao-x/p/16970746.html

相关文章

  • 对称二叉树
    给你一个二叉树的根节点root,检查它是否轴对称。使用递归求解递归判断左节点的左子树和右节点的右子树是否相等,左节点的右子树和右节点的左子树是否相等如判断......
  • 代码随想录算法训练营Day17|110. 平衡二叉树、257. 二叉树的所有路径、404. 左叶子之
    代码随想录算法训练营Day17|110.平衡二叉树、257.二叉树的所有路径、404.左叶子之和110.平衡二叉树110.平衡二叉树本题要比较左右子树的高度,首先明确高度和深度的......
  • 数据结构与算法__03--二叉树前序线索化与前序线索化遍历(Java语言版)
    (目录)1前序线索化与前序线索化遍历1.1前序线索化二叉树publicvoidthreadedPreNode(HeroNodenode){if(node==null){return;}//线索......
  • 【代码随想录】第8章 二叉树
    第8章二叉树1.二叉树理论基础二叉树种类(1)满二叉树(2)完全二叉树(3)二叉搜索树或称二叉查找树中序遍历是递增序列(4)平衡二叉搜索树二叉树的存储方式可以链式存储,也可以顺序存......
  • 每日算法之二叉搜索树与双向链表
    JZ36二叉搜索树与双向链表描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表注意:1.要求不能创建任何新的结点,只能调整树中结点指针的指向。当转化完成......
  • 力扣 501. 二叉搜索树中的众数
    501.二叉搜索树中的众数给你一个含重复值的二叉搜索树(BST)的根节点 root ,找出并返回BST中的所有 众数(即,出现频率最高的元素)。如果树中有不止一个众数,可以按 ......
  • 二叉查找树
    目录二叉搜索树定义性质常用结论二叉树的常用操作二叉查找树的有效性校验递归的思路迭代的思路二叉查找树的查找查找最大值查找最小值二叉查找树的插入递归的思路迭代的思......
  • 力扣 230. 二叉搜索树中第K小的元素
    230.二叉搜索树中第K小的元素给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 个最小元素(从1开始计数)。示例1:输入:root=......
  • 二叉树的最小深度问题
    二叉树的最小深度问题作者:Grey原文地址:博客园:二叉树的最小深度问题CSDN:二叉树的最小深度问题题目描述给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶......
  • Java中二叉树的遍历、查找
    1、准备节点/***二叉树的节点*@authorlurenjia*@date2022/12/7-12:07*/publicclassNode{Objectvalue;NodeleftChild;NoderightChild......