当前位置: 首页 > news >正文

泰安网站销售公司博客网站开发

泰安网站销售公司,博客网站开发,wordpress添加视频相册,网站建设太原目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 题目给我们一棵二叉搜索树,给我们一个目标值,让我们删除节点值等于目标值的节点,并且删除之后需要保持…

目录

题目:

示例:

分析:

代码:


题目:

示例:

分析:

题目给我们一棵二叉搜索树,给我们一个目标值,让我们删除节点值等于目标值的节点,并且删除之后需要保持二叉搜索树的定义,也就是任意一个节点的左子树上的所有节点的值都小于该节点的值,右子树上的所有节点的值都大于该节点的值。

删除一个节点我们首先需要先找到这个节点,根据二叉搜索树的定义,我们遍历二叉树,如果当前节点的值大于目标值,那么目标值只能存在与当前节点的左子树,我们就接着向左子树遍历,反之向右子树遍历。

直到我们找到了目标节点,我们需要把它删除,并且还需要保持这是一棵二叉搜索树。我们可以知道目标节点的右子树上任意一个节点的值都比目标节点的左子树上任意一个节点的值更大,所以我们可以把目标节点的右子树接到目标节点的左子树的最大的节点的右子树上,再让目标节点的左子树顶替上原先目标节点的位置,这样就完成了删除目标节点的这样的操作。

我们也可以是让目标节点的右子树顶替上原先目标节点的位置,再在右子树里最小的节点的左子树接上目标节点的左子树,这样也是可以的。都是满足二叉搜索树的定义。

代码:

class Solution {
public:TreeNode* deleteNode(TreeNode* root, int key) {if(root==nullptr) return root;if(root->val==key){if(root->right==nullptr) return root->left;if(root->left==nullptr) return root->right;TreeNode* node=root->left;while(node->right) node=node->right;node->right=root->right;root=root->left;}else if(root->val<key) root->right=deleteNode(root->right,key);else if(root->val>key) root->left=deleteNode(root->left,key);return root;}
};

http://www.15wanjia.com/news/194175.html

相关文章:

  • 建设网站需要体现的流程有哪些内容wordpress推荐链接
  • 网站界面尺寸大小成品直播源码
  • 平凉市建设局网站学做实体店网站
  • 公司网站建设合同需要交印花税中国工业信息网
  • 网站建设后台是怎么制作的自己模板做网站
  • 网站建设的一般步骤包含哪些杭州网页制作公司
  • 房山富阳网站建设沧州网站建设推广
  • 徽石网站建设网络空间安全学院
  • 哪里建设网站比较好防水补漏东莞网站建设
  • 马鞍山网站开发网站建设公司商务网站项目书
  • 主题网站的设计方案福田附近网站建设
  • 重庆网站营销seo电话seo优化软件购买
  • 静态网站站内搜索营销公司有哪些
  • 株洲网站建设公司中级经济师考试题型
  • 上海 网站备案系统网站建设公司咨询电话
  • 做网站编辑是不是也要做推广wordpress代码修改用户权限
  • 辽宁沈阳今天消息北京seo学校
  • 定制网站制作报价外链网站 风险
  • 网站维护开发合同建立网站教程视频
  • 美团网站制作的特色网站建立具体步骤是
  • 太原做网站的鸣蝉公司wordpress404页面更爱
  • 深圳网站制作工具推广公司品牌
  • 公司网站备案网址win10最强性能优化设置
  • 往建设厅网站上传东西宁波网站推广方式
  • 石大远程网页设计及网站建设答案个人建站提供软件下载
  • 网站建设开发人员网站的内容和功能
  • 东莞企业建站程序wordpress小清新模板
  • 免费地图制作网站焦作网站建设公司排名
  • ssh可以做wap网站么做网站学哪方面知识
  • 西宁建设网站多少钱百度竞价开户公司