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

dedecms修改网站教程百度广告客服电话

dedecms修改网站教程,百度广告客服电话,网站备案几天,制作专业网站从BST中移除一个节点是比较复杂的问题,需要分好几种情况讨论。 如这篇文章,就讨论了删除节点 1.有无左右子树 2.只有右子树 3.只有左子树 三种情况。 一种简单些的思维是只考虑删除节点是否有右子树(因为第一个比删除节点大的节点可能出现在右…

从BST中移除一个节点是比较复杂的问题,需要分好几种情况讨论。

如这篇文章,就讨论了删除节点 1.有无左右子树 2.只有右子树 3.只有左子树 三种情况。

一种简单些的思维是只考虑删除节点是否有右子树(因为第一个比删除节点大的节点可能出现在右子树,不会出现在左子树)。

这里用Target表示删除节点,Parent表示删除节点的母节点。

1. 没有右子树

Parent.left / Parent.right = Target.left

2. 有右子树

1) 找到第一个比删除节点大的节点Node

2) 删除该节点Node

3) Target.val = Node.val 或 保留 Node 删除Target

/*** Definition of TreeNode:* public class TreeNode {*     public int val;*     public TreeNode left, right;*     public TreeNode(int val) {*         this.val = val;*         this.left = this.right = null;*     }* }*/
public class Solution {/*** @param root: The root of the binary search tree.* @param value: Remove the node with given value.* @return: The root of the binary search tree after removal.*/public TreeNode removeNode(TreeNode root, int value) {// write your code hereTreeNode dummy = new TreeNode(0);dummy.left = root;TreeNode parent = findNodeParent(dummy, root, value);TreeNode target;if (parent.left != null && parent.left.val == value) {target = parent.left;} else if (parent.right != null && parent.right.val == value) {target = parent.right;} else {return dummy.left;}deleteNode(parent, target);return dummy.left;}private TreeNode findNodeParent(TreeNode parent, TreeNode node, int val) {if (node == null || node.val == val) {return parent;}if (node.val < val) {return findNodeParent(node, node.right, val);} else {return findNodeParent(node, node.left, val);}}private void deleteNode(TreeNode parent, TreeNode target) {if (target.right == null) {if (parent.right == target) {parent.right = target.left;} else {parent.left = target.left;}} else {// Find first element that is greater than targetTreeNode node1 = target.right;TreeNode node2 = target;while (node1.left != null) {node2 = node1;node1 = node1.left;}// Remove node1if (node1 == node2.left) {node2.left = node1.right;} else {node2.right = node1.right;}// Remove targetif (target == parent.right) {parent.right = node1;} else {parent.left = node1;}node1.left = target.left;node1.right = target.right;}}
}

 

转载于:https://www.cnblogs.com/ireneyanglan/p/5972522.html

http://www.lbrq.cn/news/2671705.html

相关文章:

  • 合肥专业网站制作团队西地那非片的功能主治和副作用
  • 外贸高端网站设计网络营销包括
  • 颛桥做网站seo公司怎样找客户
  • 什么网站做设计可以赚钱网站排名优化公司哪家好
  • 有哪些网站可以做外贸批发seo怎样优化网站
  • 工程建设科学技术奖申报网站免费seo课程
  • 做b2c网站需要多少钱神童预言新冠2023结束
  • 网站维护升级页面外贸新手怎样用谷歌找客户
  • 新冠政策最新20条长沙seo网站推广
  • 宅男做网站宁波优化网站排名软件
  • wordpress 网站提速百度快照和广告的区别
  • 网站如何优化推广新东方教育机构官网
  • 如何制作简单网站百度灰色关键词代发
  • 安阳百度网站制作多少钱淘宝app官方下载
  • 西安微信网站开发站长工具seo综合查询分析
  • 做外贸一般上哪些网站泰安网站seo推广
  • 跨境电商网站建设主管岗位职责中央电视台一套广告价目表
  • [ 1500元做网站_验收满意再付款! 推推蛙品牌策划
  • 做兼职的网站都有哪些企业管理培训课程网课
  • 高端网站建设天软科技关键词优化按天计费
  • 银川住房和城乡建设部网站济南网站优化排名推广
  • 哪些做任务可以赚钱的网站网站怎么推广
  • 网站空间香港今天的重要新闻
  • 祥云网站建设百度关键词排名怎么做
  • 在网上找做设计是什么网站企业网站排名优化公司
  • 怎么买域名建网站广告位招商怎么找客户
  • 番禺市桥网站建设太原网站优化
  • 90设计网站终身会员网站排名优化快速
  • 动感十足的网站东莞网络推广公司
  • 任县网站建设网络公司深圳网站优化推广方案
  • 爬虫与数据分析入门:从中国大学排名爬取到数据可视化全流程
  • 打破内网枷锁!TRAE SOLO + cpolar 让AI开发告别“孤岛困境”
  • Apollo平台下相机和激光雷达手眼联合标定
  • docker部署elasticsearch-8.11.1
  • node.js 学习笔记3 HTTP
  • 【每天一个知识点】深度领域对抗神经网络