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

图片渐隐 网站头部flash站长工具seo综合查询权重

图片渐隐 网站头部flash,站长工具seo综合查询权重,肥西上派网站开发,有没有做二手设备网站力扣labuladong一刷day35天 文章目录 力扣labuladong一刷day35天一、98. 验证二叉搜索树二、700. 二叉搜索树中的搜索三、701. 二叉搜索树中的插入操作四、450. 删除二叉搜索树中的节点 一、98. 验证二叉搜索树 题目链接:https://leetcode.cn/problems/validate-bi…

力扣labuladong一刷day35天

文章目录

      • 力扣labuladong一刷day35天
      • 一、98. 验证二叉搜索树
      • 二、700. 二叉搜索树中的搜索
      • 三、701. 二叉搜索树中的插入操作
      • 四、450. 删除二叉搜索树中的节点

一、98. 验证二叉搜索树

题目链接:https://leetcode.cn/problems/validate-binary-search-tree/
思路:校验二叉搜索树的合法性,简单的想法直接遍历判断左右孩子与父节点值的关系即可,但是有时候会出现问题,如何 10 -> { 5, 15-> {6, 20} }。看似都满足,其实不是的,6归属于10的右子树,但是却比10小,这也就是说每一个root只管的了他的左右孩子,但没法把约束root的信息传递给左右孩子,所以我们在遍历的时候就要携带上root的约束范围向下传递。也就是说从上往下遍历的过程中记录好每一个节点的约束范围。

class Solution {public boolean isValidBST(TreeNode root) {return isValidBST(root, null, null);}boolean isValidBST(TreeNode root, TreeNode min, TreeNode max) {if (root == null) return true;if (min != null && root.val <= min.val) return false;if (max != null && root.val >= max.val) return false;return isValidBST(root.left, min, root) && isValidBST(root.right, root, max);}
}

二、700. 二叉搜索树中的搜索

题目链接:https://leetcode.cn/problems/search-in-a-binary-search-tree/
思路:在二叉搜索树中搜索值,只需要利用二叉搜索树的特性,val<root.val 去左子树进行搜索,val>root.val去右子树搜索 val == root.val 返回。

class Solution {public TreeNode searchBST(TreeNode root, int val) {if (root == null) return null;if (val < root.val) return searchBST(root.left, val);if (val > root.val) return searchBST(root.right, val);return root;}
}

三、701. 二叉搜索树中的插入操作

题目链接:https://leetcode.cn/problems/insert-into-a-binary-search-tree/
思路:对于二叉搜索树的插入和查询思路是类似的,左右判断一路向下搜索,为node == null就找到了位置new 新节点返回就是。

class Solution {public TreeNode insertIntoBST(TreeNode root, int val) {if (root == null) return new TreeNode(val);if (val < root.val) {root.left = insertIntoBST(root.left, val);}if (val > root.val) {root.right = insertIntoBST(root.right, val);}return root;}
}

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

题目链接:https://leetcode.cn/problems/delete-node-in-a-bst/
思路:其实对于二叉搜索树的查找、新增、修改都是一样的思路,对于删除却不一样,有3中可能性,①、要删除节点为叶子节点。②、要删除节点只有一个孩子节点。③、要删除节点有两个孩子节点。
①、直接返回null
②、返回另一个非空的孩子节点。
③、有两种删除方法,可以拿当前节点的左子树中最大值(即一路p=p.right)进行交换,然后递归删除,也可以拿当前节点的右子树中的最小值(即一路p=p.left)进行交换,然后递归删除。

class Solution {public TreeNode deleteNode(TreeNode root, int key) {if (root == null) return null;if (key == root.val) {if (root.left == null && root.right == null) return null;if (root.left == null && root.right != null) return root.right;if (root.left != null && root.right == null) return root.left;TreeNode p = root.right;while (p.left != null) {p = p.left;}root.val = p.val;root.right = deleteNode(root.right, root.val);} else if (key < root.val) {root.left = deleteNode(root.left, key);}else {root.right = deleteNode(root.right, key);}return root;}
}
http://www.hkea.cn/news/825257/

相关文章:

  • 下载app 的网站 如何做黑帽seo排名技术
  • 个人是否做众筹网站哪里可以免费推广广告
  • 外贸网站该怎么做青岛百度推广优化怎么做的
  • 网站建设中 网页代码优化关键词排名公司
  • 网站标题优化怎么做泉州百度首页优化
  • 学习网站建设的是什么专业优化网站排名公司
  • 固定ip做网站西安网站建设推广
  • 做响应式网站好不好软文发布门户网站
  • 重庆做网站建设的公司哪家好最基本的网站设计
  • 长春网站制作wang网站营销软文
  • discuz 网站搬家市场营销的策划方案
  • 做婚礼网站的公司简介seo网站关键词优化软件
  • 哪些客户需要做网站推广平台排名前十名
  • 团购的网站扣佣金分录怎么做厦门百度竞价
  • 国家疫情最新政策麒麟seo外推软件
  • 河南第二波疫情最新消息淘宝关键词优化技巧教程
  • 优化好的网站做企业网站百度代理公司
  • 外贸b2c网站如何做推广百度电话人工服务
  • 百度怎样做网站并宣传网站2023上海又出现疫情了
  • wordpress后台登录慢阳山网站seo
  • 深圳网站建设企网络推广运营途径
  • 给自己女朋友做的网站yandex搜索引擎
  • 购物网站建设教程怎么在网上做广告宣传
  • 冠县做网站推广网站怎么制作
  • 开封 网站建设苹果被曝开发搜索引擎对标谷歌
  • 东莞虎门高铁站百度客户端电脑版下载
  • 建网站怎么挣钱的学seo推广
  • 自如网站做的好 服务哪个网站学seo是免费的
  • 国外网站阻止国内访问怎么做竞价推广工具
  • 建设一个网站需要哪些方面的开支百度人工客服