当前位置: 首页> 科技> IT业 > 程序员需要考什么证书_网络服务公司是做什么的_青岛关键词排名哪家好_市场调研流程

程序员需要考什么证书_网络服务公司是做什么的_青岛关键词排名哪家好_市场调研流程

时间:2025/8/6 23:31:05来源:https://blog.csdn.net/weixin_49108078/article/details/146988858 浏览次数:0次
程序员需要考什么证书_网络服务公司是做什么的_青岛关键词排名哪家好_市场调研流程

力扣235.二叉搜索树的最近公共祖先【medium】
力扣701.二叉搜索树的插入操作【medium】
力扣450.删除二叉搜索树中的节点【medium】

一、力扣235.二叉搜索树的最近公共祖先【medium】

题目链接:力扣235.二叉搜索树的最近公共祖先在这里插入图片描述
文档链接:代码随想录

1、思路

  • 要利用二叉搜索树有序的性质
  • 题目说了p、q都在树中,所以我们可以通过遍历往下缩小范围
  • 这边不用判断空节点,因为pq的存在性和树的有序性,所以这边不会递归到空节点
  • 时间复杂度: O ( n ) O(n) O(n)

2、代码

class Solution:def lowestCommonAncestor(self, root: 'TreeNode', p: 'TreeNode', q: 'TreeNode') -> 'TreeNode':x = root.valif x < p.val and x < q.val:return self.lowestCommonAncestor(root.right, p, q)if x > p.val and x > q.val:return self.lowestCommonAncestor(root.left, p , q)return root

二、力扣701.二叉搜索树的插入操作【medium】

题目链接:力扣701.二叉搜索树的插入操作
在这里插入图片描述
文档链接:代码随想录

1、思路

  • 可以不改变树的结构,这样这道题就简单了
  • 通过比较
  • 时间复杂度: O ( n ) O(n) O(n)

2、代码

class Solution:def insertIntoBST(self, root: Optional[TreeNode], val: int) -> Optional[TreeNode]:if not root:return TreeNode(val)if root.val > val:root.left = self.insertIntoBST(root.left , val)if root.val < val:root.right = self.insertIntoBST(root.right , val)return root

三、力扣450.删除二叉搜索树中的节点【medium】

题目链接:力扣450.删除二叉搜索树中的节点
在这里插入图片描述
文档链接:代码随想录

1、思路

  • 遍历中寻找key,并不全遍历
  • 删除节点的操作在终止条件
  • 好好理解终止条件的return和最后的return root,这个过程中它就删除了目标节点并且把目标节点的孩子接向了它的父亲
  • 时间复杂度: O ( n ) O(n) O(n)

2、代码

class Solution:def deleteNode(self, root, key):if root is None:return rootif root.val == key:if root.left is None and root.right is None:return Noneelif root.left is None:return root.rightelif root.right is None:return root.leftelse:cur = root.rightwhile cur.left is not None:cur = cur.leftcur.left = root.leftreturn root.rightif root.val > key:root.left = self.deleteNode(root.left, key)if root.val < key:root.right = self.deleteNode(root.right, key)return root

关键字:程序员需要考什么证书_网络服务公司是做什么的_青岛关键词排名哪家好_市场调研流程

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: