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

wordpress dede苏州网站seo优化

wordpress dede,苏州网站seo优化,荆州网站开发,wordpress模板目录结构在树结构中,祖先指的是一个节点的父节点或更高层级的父节点。公共祖先是指同时为节点p和q的祖先的节点。最近公共祖先(LCA)则是指在所有公共祖先中,距离p和q最近的那个节点。寻找LCA的方法可以按以下情况进行分析: 当…

       

        在树结构中,祖先指的是一个节点的父节点或更高层级的父节点。公共祖先是指同时为节点p和q的祖先的节点。最近公共祖先(LCA)则是指在所有公共祖先中,距离p和q最近的那个节点。寻找LCA的方法可以按以下情况进行分析:

  1. 当前节点为空节点
  2. 当前节点就是p节点
  3. 当前节点就是q节点
  4. 当前节点既不是p也不是q,且p和q位于其子树中:
    • p和q分别位于左右子树
    • p和q都在左子树
    • p和q都在右子树
    • p和q都不在子树中

具体解决方案如下:

情况1:空节点不可能是p和q的LCA。

情况2和3:如果当前节点是p或q,直接返回当前节点。因为若当前节点是p,而q是其子节点,则p就是LCA(节点可以是自身的LCA)。若q不在p的子树中,则无需继续在p的子树中搜索。

情况4.1:当前节点就是LCA。因为如果LCA在左子树,则不会是q的祖先;在右子树则不会是p的祖先;在上层节点则不满足"最近"的条件。

情况4.2:LCA必定在左子树中,因此递归搜索左子树。

情况4.3和4.4可以合并处理:若p和q都在右子树,则递归搜索右子树;若都不在子树中,则右子树也为空。        

class Solution {
public:TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {if (!root || root == p || root == q) {return root;}TreeNode *left = lowestCommonAncestor(root->left,p,q);TreeNode *right = lowestCommonAncestor(root->right,p,q);if (left && right) {return root;}if (left) {return left;}return right;}
};

        时间复杂度:O(n),n为节点个数

        空间复杂度:O(n)

类似的可以求解一下235. 二叉搜索树的最近公共祖先 - 力扣(LeetCode)

http://www.dtcms.com/wzjs/330386.html

相关文章:

  • 网站做支付端口的费用网络媒体发稿
  • 互联网b2b是什么意思百度seo优
  • 丽水专业网站建设哪家好网站seo整站优化
  • 网站建设私单软件开发外包公司
  • 上海专业网站优化排名电商运营培训机构哪家好
  • 做哪个网站有效果求职seo
  • wordpress 产品属性seo快速整站上排名教程
  • wordpress本地运行速度慢黑帽seo是什么
  • 昆明党风廉政建设网站济南全网推广
  • 如何自制自己的网站seo教程自学入门教材
  • 长春专业做网站公司排名品牌营销策略包括哪些内容
  • 电脑做试卷的网站推广链接点击器
  • wordpress创建动态页面seo站群优化技术
  • 做营销型网站的企业seo外链工具源码
  • 做app网站的软件叫什么名字吗舟山seo
  • 东莞网站建设 餐饮合肥seo排名扣费
  • 做网站怎么赚钱知乎seo网络培训学校
  • 正规网站建设公司抖音关键词搜索指数
  • 自已电脑做网站bt蚂蚁
  • 天津 网站设计制作公司梧州网站seo
  • 网页制作格式seo关键词排名优化怎么收费
  • dede 网站被复制网络推广员为什么做不长
  • 东莞长安做网站特色产品推广方案
  • 印刷 网站源码重庆网站快速排名优化
  • wordpress可以卸载深圳seo优化推广公司
  • 中国建设网站工程承包分包法排名网站
  • 网上商城网站开发建站之星官网
  • 茶山网站仿做现在推广平台哪家最好
  • 做网站需要几个服务器甘肃网站推广
  • 郑州网站优化公司哪家好seo关键词怎么选择