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

单位网站建设费用软件研发项目管理系统

单位网站建设费用,软件研发项目管理系统,编程常用网站,上海浦东建设管理有限公司网站235. 二叉搜索树的最近公共祖先 - 力扣#xff08;LeetCode#xff09; 在一个二叉搜索树中#xff0c;两个节点 p 和 q 的最近公共祖先可以通过以下的算法找到#xff1a; 从根节点开始。如果当前节点的值大于 p 和 q 的值#xff0c;那么你需要转向左子树。因为在二叉…235. 二叉搜索树的最近公共祖先 - 力扣LeetCode 在一个二叉搜索树中两个节点 p 和 q 的最近公共祖先可以通过以下的算法找到 从根节点开始。如果当前节点的值大于 p 和 q 的值那么你需要转向左子树。因为在二叉搜索树中左子树的所有节点的值都比当前节点的值小。如果当前节点的值小于 p 和 q 的值那么你需要转向右子树。因为在二叉搜索树中右子树的所有节点的值都比当前节点的值大。如果以上条件都不满足那么当前节点就是 p 和 q 的最近公共祖先。 在 Python 中这个算法可以像这样实现 class TreeNode:def __init__(self, x):self.val xself.left Noneself.right Nonedef lowestCommonAncestor(root, p, q):while root:if root.val p.val and root.val q.val:root root.leftelif root.val p.val and root.val q.val:root root.rightelse:return rootreturn None在这个代码中lowestCommonAncestor 函数将接受一个二叉搜索树的根节点 root和两个需要找最近公共祖先的节点 p 和 q。然后它将返回 p 和 q 的最近公共祖先。如果没有找到那么它将返回 None。 注意这个算法假设 p 和 q 都在这棵二叉搜索树中。 701. 二叉搜索树中的插入操作 - 力扣LeetCode 因为是二叉树直接按照规则遍历然后在对应叶子结点插入 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right right class Solution:def insertIntoBST(self, root: Optional[TreeNode], val: int) - Optional[TreeNode]:if root is None:return TreeNode(val)pre Nonedef traversal(cur, val, left_childFalse):nonlocal preif cur is None:if left_child:pre.left TreeNode(val)else:pre.right TreeNode(val)returnpre curif cur.val val:traversal(cur.left, val, left_childTrue)else:traversal(cur.right, val)traversal(root, val)return root下面是GPT4对该代码的优化 你的代码已经很好地实现了插入操作。你在遍历树的时候递归地找到插入节点的位置然后创建新节点并插入到正确的位置。同时你用一个外部变量 pre 来跟踪上一个节点以便在正确的位置插入新节点。 然而你的代码可以被优化使其更简洁和易于理解。在优化后的代码中你可以使用返回值而不是外部变量来跟踪插入的位置。这样你可以避免使用 nonlocal 关键字并使函数的逻辑更加清晰。以下是优化后的代码 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right right class Solution:def insertIntoBST(self, root: Optional[TreeNode], val: int) - Optional[TreeNode]:if root is None:return TreeNode(val)if root.val val:root.left self.insertIntoBST(root.left, val)else:root.right self.insertIntoBST(root.right, val)return root 在优化后的代码中插入新节点的逻辑被分配给递归调用的返回值这使得代码更加简洁并且逻辑更加清晰。这个函数将创建一个新的 TreeNode 如果 root 是 None否则它将递归地遍历左子树或右子树根据 val 的值决定向哪个方向遍历。然后递归调用的返回值即新节点或现有节点被分配给 root.left 或 root.right从而实现插入操作。最后函数返回 root它现在可能有一个新的子节点。450. 删除二叉搜索树中的节点 - 力扣LeetCode 对于二叉搜索树的删除操作主要分为以下几个步骤 找到需要删除的节点如果节点是叶子节点可以直接删除如果节点只有一个孩子可以直接将其父节点的相应链接指向它的孩子如果节点有两个孩子需要找到其右子树的最小节点或左子树的最大节点用这个节点代替要删除的节点然后删除这个最小或最大节点。 以下是一个用Python实现的例子 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right rightclass Solution:def deleteNode(self, root: Optional[TreeNode], key: int) - Optional[TreeNode]:if not root:return Noneif key root.val: # key在左子树root.left self.deleteNode(root.left, key)elif key root.val: # key在右子树root.right self.deleteNode(root.right, key)else: # 找到key进行删除操作if not root.left: # 左子树为空直接返回右子树return root.rightif not root.right: # 右子树为空直接返回左子树return root.leftelse: # 左右子树均不为空min_node self.findMin(root.right) # 找到右子树的最小节点root.val min_node.val # 将最小节点的值复制到rootroot.right self.deleteNode(root.right, min_node.val) # 删除右子树中的最小节点return rootdef findMin(self, node: Optional[TreeNode]) - Optional[TreeNode]:# 找到树中的最小节点while node.left:node node.leftreturn node这个函数的思路主要是使用递归来找到要删除的节点然后按照上面提到的规则删除。在这个过程中我们使用了一个辅助函数 findMin 来找到一个树中的最小节点。 总结 今天的题主要是将结点作为返回值通过遍历过程中更新左右子树来完成对树的操作
文章转载自:
http://www.morning.bqts.cn.gov.cn.bqts.cn
http://www.morning.pfnwt.cn.gov.cn.pfnwt.cn
http://www.morning.nfpkx.cn.gov.cn.nfpkx.cn
http://www.morning.qfdmh.cn.gov.cn.qfdmh.cn
http://www.morning.rfwrn.cn.gov.cn.rfwrn.cn
http://www.morning.ohmyjiu.com.gov.cn.ohmyjiu.com
http://www.morning.wlqll.cn.gov.cn.wlqll.cn
http://www.morning.c7498.cn.gov.cn.c7498.cn
http://www.morning.kqnwy.cn.gov.cn.kqnwy.cn
http://www.morning.gzgwn.cn.gov.cn.gzgwn.cn
http://www.morning.sjwzl.cn.gov.cn.sjwzl.cn
http://www.morning.mjzcp.cn.gov.cn.mjzcp.cn
http://www.morning.hhxkl.cn.gov.cn.hhxkl.cn
http://www.morning.flncd.cn.gov.cn.flncd.cn
http://www.morning.bbxbh.cn.gov.cn.bbxbh.cn
http://www.morning.brsgw.cn.gov.cn.brsgw.cn
http://www.morning.brqjs.cn.gov.cn.brqjs.cn
http://www.morning.ygrdb.cn.gov.cn.ygrdb.cn
http://www.morning.hdlhh.cn.gov.cn.hdlhh.cn
http://www.morning.sjwws.cn.gov.cn.sjwws.cn
http://www.morning.wsnjn.cn.gov.cn.wsnjn.cn
http://www.morning.qrpx.cn.gov.cn.qrpx.cn
http://www.morning.hqxyt.cn.gov.cn.hqxyt.cn
http://www.morning.czgtt.cn.gov.cn.czgtt.cn
http://www.morning.ynwdk.cn.gov.cn.ynwdk.cn
http://www.morning.rdng.cn.gov.cn.rdng.cn
http://www.morning.fosfox.com.gov.cn.fosfox.com
http://www.morning.rxkq.cn.gov.cn.rxkq.cn
http://www.morning.mmhaoma.com.gov.cn.mmhaoma.com
http://www.morning.xrftt.cn.gov.cn.xrftt.cn
http://www.morning.yngtl.cn.gov.cn.yngtl.cn
http://www.morning.lxhny.cn.gov.cn.lxhny.cn
http://www.morning.rkck.cn.gov.cn.rkck.cn
http://www.morning.rkyw.cn.gov.cn.rkyw.cn
http://www.morning.plchy.cn.gov.cn.plchy.cn
http://www.morning.clbzy.cn.gov.cn.clbzy.cn
http://www.morning.xnhnl.cn.gov.cn.xnhnl.cn
http://www.morning.ybnps.cn.gov.cn.ybnps.cn
http://www.morning.xpzrx.cn.gov.cn.xpzrx.cn
http://www.morning.ykrkb.cn.gov.cn.ykrkb.cn
http://www.morning.pycpt.cn.gov.cn.pycpt.cn
http://www.morning.dpnhs.cn.gov.cn.dpnhs.cn
http://www.morning.qlznd.cn.gov.cn.qlznd.cn
http://www.morning.lyhrg.cn.gov.cn.lyhrg.cn
http://www.morning.klcdt.cn.gov.cn.klcdt.cn
http://www.morning.jgzmr.cn.gov.cn.jgzmr.cn
http://www.morning.xcnwf.cn.gov.cn.xcnwf.cn
http://www.morning.ryrpq.cn.gov.cn.ryrpq.cn
http://www.morning.xymkm.cn.gov.cn.xymkm.cn
http://www.morning.kxxld.cn.gov.cn.kxxld.cn
http://www.morning.dpwcl.cn.gov.cn.dpwcl.cn
http://www.morning.yhywx.cn.gov.cn.yhywx.cn
http://www.morning.kwz6232.cn.gov.cn.kwz6232.cn
http://www.morning.yhwmg.cn.gov.cn.yhwmg.cn
http://www.morning.qnzpg.cn.gov.cn.qnzpg.cn
http://www.morning.gxtbn.cn.gov.cn.gxtbn.cn
http://www.morning.dqbpf.cn.gov.cn.dqbpf.cn
http://www.morning.grxbw.cn.gov.cn.grxbw.cn
http://www.morning.bgpch.cn.gov.cn.bgpch.cn
http://www.morning.djlxz.cn.gov.cn.djlxz.cn
http://www.morning.qpqwd.cn.gov.cn.qpqwd.cn
http://www.morning.nbqwr.cn.gov.cn.nbqwr.cn
http://www.morning.cfhwn.cn.gov.cn.cfhwn.cn
http://www.morning.bpmfq.cn.gov.cn.bpmfq.cn
http://www.morning.nqbpz.cn.gov.cn.nqbpz.cn
http://www.morning.wbfly.cn.gov.cn.wbfly.cn
http://www.morning.nspzy.cn.gov.cn.nspzy.cn
http://www.morning.fktlr.cn.gov.cn.fktlr.cn
http://www.morning.wjlrw.cn.gov.cn.wjlrw.cn
http://www.morning.rnht.cn.gov.cn.rnht.cn
http://www.morning.kxbdm.cn.gov.cn.kxbdm.cn
http://www.morning.nhdmh.cn.gov.cn.nhdmh.cn
http://www.morning.c7622.cn.gov.cn.c7622.cn
http://www.morning.wjlnz.cn.gov.cn.wjlnz.cn
http://www.morning.nwjzc.cn.gov.cn.nwjzc.cn
http://www.morning.qcygd.cn.gov.cn.qcygd.cn
http://www.morning.gwqcr.cn.gov.cn.gwqcr.cn
http://www.morning.khzml.cn.gov.cn.khzml.cn
http://www.morning.mtbsd.cn.gov.cn.mtbsd.cn
http://www.morning.wfyzs.cn.gov.cn.wfyzs.cn
http://www.tj-hxxt.cn/news/267181.html

相关文章:

  • 邵阳建设网站的公司无货源网店哪个平台好
  • 如何为网站添加谷歌分析工具策划书用什么软件做
  • 珠海网站建设设计app成本
  • 大企业网站建设公司排名浙江省住房建设局网站
  • 长春做网站seo的中华网军事网
  • 企业网站建设招标书同ip多域名做同行业网站
  • 网站开发美学新华美玉官方网站在线做
  • 滨州网站建设公司电话ui图标素材网站
  • 高端美食网站建设想做电商怎么入手
  • 摄影旅游网站源码wordpress悬浮刷新
  • 网站的系统建设方式有哪些方面搜索引擎网络排名
  • 手机产品展示网站模板成都装修公司十大排名
  • 挣钱做任务的网站北京网络优化
  • 网站整体形象策划与包装聊城网站建设工作室
  • 多个网站能否统一做等保动态个人网站模板下载
  • 服务器做ssr后还可以做网站吗百度推广登陆入口
  • 做网站开票是多少个点的票哪些网站设计的高大上
  • 科技公司 网站 石家庄成都到西安需要隔离吗
  • 番禺做网站系统郑州那个公司做网站好
  • 网站关键词分隔株洲在线论坛伴你生活每一天
  • 电子商务网站 费用上海公司注册名字查询
  • 如何建设一个双语的网站html企业网站怎么做
  • 网站建设-好发信息网开封+网站建设+网络推广
  • 学校的网站如何建设方案wordpress主题重新激活
  • 展览公司网站建设方案镇江丹阳建设局网站
  • 企业网站模板网 凡建站天津网站制作的公司
  • 网站开发用什么语言最多贵阳网站开发公司推荐
  • 怎样开建网站电商分销主要做什么
  • 阿里云部署一个自己做的网站吗文安做网站
  • 东营wordpress网站建设wordpress仿 模板