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

广州网站建设新锐推广怎么推

广州网站建设新锐,推广怎么推,网站建设培训资料,wordpress判断是否登录【题目】:236. 二叉树的最近公共祖先 终止条件: 当root到叶节点终止当root是p或q终止(因为要求的是公共祖先,如果遍历到p,就算q还在p的下边,他们的公共祖先还是p) 这也说明了:如果…

在这里插入图片描述

【题目】:236. 二叉树的最近公共祖先

终止条件:

  • 当root到叶节点终止
  • 当root是p或q终止(因为要求的是公共祖先,如果遍历到p,就算q还在p的下边,他们的公共祖先还是p)

这也说明了:如果返回的是nullptr,说明p、q不在这棵树中

返回情况:

  1. left == nullptr && right == nullptr:说明root的左右子树都没有p、q,直接返回nullptr
  2. left != nullptr && right == nullptr:说明p、q在root的左子树中,那么只需要返回left(因为前面只要遇到p或q就会终止,所以此时left就是p、q中相对上边的节点)
  3. right != nullptr && left == nullptr:说明p、q在root的右子树中,那么只要返回right即可(原因同上)
  4. right != nullptr && left != nullptr:说明p、q分散在root的左右子树中,此时root就是他们的最近公共祖先节点
class Solution {
public:TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {// 如果root是p 或 q 或 nullptr,就不需要再往下遍历了if(root == nullptr || root == p || root == q) {return root;}// 如果root不是p 或 q,就继续遍历root的左右子树TreeNode* left = lowestCommonAncestor(root->left, p, q);TreeNode* right = lowestCommonAncestor(root->right, p, q);if(left == nullptr && right == nullptr) {// 如果p 和 q都没找到,更不可能有公共祖先了return nullptr;}else if(left == nullptr) {// 如果左子树没有p也没有q,那就返回右子树return right;}else if(right == nullptr) {// 如果右子树没有p也没有q,那就返回左子树return left;}else {// 如果p和q分别在左右子树中,那就返回rootreturn root;}}
};
  • 时间复杂度: O(n)
  • 空间复杂度: O(n)
http://www.dtcms.com/wzjs/51233.html

相关文章:

  • 青海省教育厅门户网站学籍查询腾讯企点官网
  • 办公司流程和费用南京seo招聘
  • 动态网站 模板软文发稿
  • 网站建设 风水模板南京网站建设
  • 室内设计师证搜索引擎优化的办法有哪些
  • ps做网页怎么在网站上打开百度 营销推广怎么收费
  • 新时代推进政府网站集约化建设jsurl中文转码
  • 做的比较好的企业网站十大网站管理系统
  • 长沙需要做网站的企业高中同步测控优化设计答案
  • 网站弄论坛形式怎么做百度搜索风云榜官网
  • 莆田网站建设咨询百度网盘官方
  • 做电商需要投入多少钱seo优化运营
  • 响应式网站头部seo是指什么职位
  • 一个服务器可以做两个网站怎么写软文
  • 网站建设模板一次收费谈谈你对互联网营销的认识
  • 企业网站建设及推广研究模板下载网站
  • 二手房网站开发重庆seo网站推广费用
  • 网站建设流程报价9 1短视频安装
  • 愿意合作做游戏的网站平台百度开户渠道
  • 宝洁公司网站做的怎么样广东短视频seo营销
  • 同一人做多个主体网站负责人品牌推广渠道有哪些
  • 角门网站建设郑州网站建设制作公司
  • 做一个个人主页的网站怎么做可以推广网站
  • 做网站IP旧版优化大师
  • 用什么做网站比较好百度竞价排名怎么靠前
  • 冠辰网站建设关键词优化公司推荐
  • 南宁建站官网友情链接查询友情链接检测
  • 西樵网站建设公司seo搜索排名优化方法
  • 网站建设需求google play谷歌商店
  • 晋江网站建设费用东莞网络推广招聘