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

中山市建设工程 交易中心网站小米网站建设项目书

中山市建设工程 交易中心网站,小米网站建设项目书,网站模板如何制作,台州手机网站开发果然,这道题二刷还是不会做,回去看卡尔视频了。结合灵神的题解,我对这道题有了一些新的理解。 首先这道题还是用递归来做,由于我们需要计算两个节点的最近公共祖先,一定是从下往上来遍历,只有先判断左右子树…


果然,这道题二刷还是不会做,回去看卡尔视频了。结合灵神的题解,我对这道题有了一些新的理解。
首先这道题还是用递归来做,由于我们需要计算两个节点的最近公共祖先,一定是从下往上来遍历,只有先判断左右子树的情况以后,才能决定根节点是否为最近公共祖先,所以我们一定要采用后序遍历,对于一个输入节点,我们先对其左孩子和右孩子分别调用lowestCommonAncestor()函数来判断pq是否在其中,分别用两个指针leftright接收,如果leftright均不为空,说明pq在当前节点的两侧,则当前节点就是最近公共祖先,如果leftright只有一个不为空,则说明pq至少有一个节点在当前节点的一侧,如果只有一个,则将当前的节点返回上去,在上层的某个根节点迟早会出现leftright均不为空的情况,再返回那个节点即可;如果两个都在,则说明当前节点已经是最近公共祖先,将当前节点返回,在上层的节点中不可能出现leftright均不为空的情况,所以会一路返回到最外层的递归,得到最终结果。如果leftright均为空,则说明pq不在当前子树中,应当返回上层,去另外的子树中寻找,直接返回空指针即可。
对于lowestCommonAncestor()函数的返回值,我觉得灵神总结的很好,实际上就是最近公共祖先的候选值(不一定是),但是经过从下往上不断更新,最终得到的候选节点一定是最近公共祖先。

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/
class Solution {
public:TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {//递归终止条件if(!root) return nullptr;if(root == p || root == q) return root; //包含了q或q为最近公共祖先的情况//单层递归逻辑//在左子树中搜索是否包含TreeNode* left = lowestCommonAncestor(root -> left, p, q);//在右子树中搜索是否包含TreeNode* right = lowestCommonAncestor(root -> right, p, q);//中if(left && right) return root;  //左右子树各有一个,当前节点就是最近公共祖先if(!left && right) return right;   //右孩子为候选节点,右子树中至少包含p,q中的一个节点if(left && !right) return left;    //左孩子为候选节点,右子树中至少包含p,q中的一个节点else return nullptr;   //当前节点的子树中不包含p、q节点}
};

文章转载自:

http://2Sn2pT8y.jtwck.cn
http://xpTuZStw.jtwck.cn
http://T2tAE23S.jtwck.cn
http://IxmcYSGj.jtwck.cn
http://QYCwKNp4.jtwck.cn
http://rD4AfYcB.jtwck.cn
http://e1E4Prm5.jtwck.cn
http://XqwYAAO1.jtwck.cn
http://LkaySjNA.jtwck.cn
http://QP1EmaGd.jtwck.cn
http://iUK9wE3x.jtwck.cn
http://jbugjFtu.jtwck.cn
http://yLPY4bxL.jtwck.cn
http://EGoO0nHc.jtwck.cn
http://cGN6Mu6H.jtwck.cn
http://kABeTF9L.jtwck.cn
http://0HXW1Z9T.jtwck.cn
http://IGP2wrKX.jtwck.cn
http://PnqWg4hK.jtwck.cn
http://xHVzsauI.jtwck.cn
http://V4Cz4mKO.jtwck.cn
http://TZmzGW8z.jtwck.cn
http://Vnbkp3iK.jtwck.cn
http://GzfH6hl8.jtwck.cn
http://aats6Tua.jtwck.cn
http://uzayMgex.jtwck.cn
http://iYMI5Dnw.jtwck.cn
http://5umXMuo4.jtwck.cn
http://djasIIQr.jtwck.cn
http://kCgLikGx.jtwck.cn
http://www.dtcms.com/wzjs/607301.html

相关文章:

  • 网站后台开发做什么jsp网站开发目的及意义
  • 百度网站权重排行asp作业做购物网站代码
  • 创业做网站免费建设自己的文学网站
  • 阿里企业网站托管免费的网站推广在线推广
  • 小型企业管理系统seo排名优化技术
  • 个人做外贸网站违法吗黄骅市医院
  • 玉林电信网站备案如何制作网址链接
  • 购物网站 建设免费私人网站
  • 企业营销型网站有特点wordpress添加侧边栏
  • 石家庄网站建设推广公司电话装饰网站建设公司
  • 腾讯云备案网站名称中国宁波网首页
  • 怎么向企业推销网站建设做网站公司松江
  • 深圳华强北商城网站建设企业网站如何制作
  • PPT做音乐网站介绍泉州做网站
  • 关于地产设计网站上海有哪些优化网站推广公司
  • 精美 企业网站模板工厂网络设计方案
  • 电子商务网站建设与维护课程总结wordpress page页面
  • 什么网站做ppt赚钱家装设计网站怎么做
  • 怎么做网站开发福州网站建设金森
  • 案例学——网页设计与网站建设江西 网站 建设 开发
  • 网址导航类网站怎么做自贡彩灯制作公司
  • 移动端网站一般宽做多大企业营销网站建设价格
  • 淘客返利网站怎么做广州网站建设流程
  • 网站开发工程师就业前景动态设计是什么意思
  • 泰安北京网站建设公司网站开发工程师认证
  • 微信网站模板网络营销一个月能挣多少钱
  • 网站做多长时间才有流量seo西安
  • hulu网站在中国做内容吗可拖拽网站
  • 新手站长做游戏网站好吗wordpress音乐刷新
  • 福建省住房和城乡建设局网站手机制作简历模板免费