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

网站编辑工作内容网络营销的方法

网站编辑工作内容,网络营销的方法,深圳企业网站建设费用,昆明网站建设外包leetcode 450. 删除二叉搜索树中的节点 题目 给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。 一般来说&#x…

leetcode 450. 删除二叉搜索树中的节点

题目

给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。

一般来说,删除节点可分为两个步骤:

首先找到需要删除的节点;
如果找到了,删除它。

示例 1:在这里插入图片描述
输入:root = [5,3,6,2,4,null,7], key = 3
输出:[5,4,6,2,null,null,7]
解释:给定需要删除的节点值是 3,所以我们首先找到 3 这个节点,然后删除它。
一个正确的答案是 [5,4,6,2,null,null,7], 如下图所示。
另一个正确答案是 [5,2,6,null,4,null,7]。
在这里插入图片描述
示例 2:
输入: root = [5,3,6,2,4,null,7], key = 0
输出: [5,3,6,2,4,null,7]
解释: 二叉树不包含值为 0 的节点
示例 3:

输入: root = [], key = 0
输出: []
提示:

节点数的范围 [0, 104].
-105 <= Node.val <= 105
节点值唯一
root 是合法的二叉搜索树
-105 <= key <= 105

进阶: 要求算法时间复杂度为 O(h),h 为树的高度。

思路

这题递归好做,迭代比较复杂。主要是要想清楚分哪些情况。没找到就根据值往左或右搜,找到了就分好几种情况了。

  1. 是叶子节点,那就直接返回空给上层就行了
  2. 节点左子树为空,那就返回右子树
  3. 节点右子树为空,那就返回左子树
  4. 左右子树都不为空,那我们需要想想逻辑了。其实当前根节点右侧是都大于它左侧是都小于它,那就让左侧最大的接到右侧最小的左边就行了。所以有如下代码

代码

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public TreeNode deleteNode(TreeNode root, int key) {if (root == null) {return null;}if (root.val < key) {root.right = deleteNode(root.right, key);}else if (root.val > key) {root.left = deleteNode(root.left, key);}else {if (root.left == null && root.right == null) {return null;}else if (root.right == null) {return root.left;}else if (root.right == null) {return root.right;}else {TreeNode cur = root.right;while (cur.left != null) {cur = cur.left;}cur.left = root.left;return root.right;}}// 树里没查到的return root;}
}
http://www.hrbkazy.com/news/50395.html

相关文章:

  • wordpress主题 百度云seo网站推广首页排名
  • 用电脑做网站服务器百度电商平台app
  • 网站推广意识薄弱图片seo优化是什么意思
  • 网站建设合同图片海口关键词优化报价
  • 丽水专业网站建设哪家好商城小程序
  • 北京网站备案要求吗seo推广培训资料
  • 做网站java步骤百度网站流量查询
  • 郑州网站制作营销推广赚钱的软件
  • 自己做鞋子网站市场调研报告总结
  • 怎么做网站规划书百度客户端电脑版
  • 武汉网站建设的公司哪家好什么是淘宝seo
  • 网站开发html文件规范百度搜索引擎seo
  • 优秀企业网站设计要点友情链接交易购买
  • 江门城乡建设局官方网站做seo排名好的公司
  • 软件工程最吃香的三个专业win7优化工具
  • 什么网站专门做境外当地游seo网站培训班
  • 廊坊建设部网站今日热搜榜前十名
  • 做医疗设备的网站短视频平台推广
  • 稿定设计网页版登录网站优化排名怎么做
  • 网站建设高端怎么制作网站链接
  • 网站建设 浏览器兼容百度推广需要什么条件
  • web网站开发框架seo入门培训教程
  • 服装建设网站论文的目录网络营销推广
  • 网站建设怎么找客户友情链接交易网站源码
  • 国外网站打开速度慢的原因windows优化大师的功能
  • 给特宝网站商家网址怎样做引擎优化是什么意思
  • 电子商务网站建设论文开题报告厦门网络推广公司
  • 新源网站建设免费的外贸b2b网站
  • 最好设计网站建设北京seo顾问外包
  • 网站的留言板怎么做东莞seo技术培训