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

网页制作中级证书如何优化网站 提高排名

网页制作中级证书,如何优化网站 提高排名,成都专业手机网站建设推广,网站排名优化公司哪家好4.3 236.二叉树的公共祖先 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大&#xff0…

4.3 236.二叉树的公共祖先

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。

百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”

示例 1:

输入:root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1
输出:3
解释:节点 5 和节点 1 的最近公共祖先是节点 3 。

示例 2:

输入:root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 4
输出:5
解释:节点 5 和节点 4 的最近公共祖先是节点 5 。因为根据定义最近公共祖先节点可以为节点本身。

示例 3:

输入:root = [1,2], p = 1, q = 2
输出:1

我的思路:

满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)

每个节点深度遍历

3 5 1 = p q => 输出3

3 5 1

5 6 2 = p

7 4 = q =>输出5

如果孩子为p,q返回节点

如果节点为p或者q,那么就返回节点

如果左孩子为p或者q返回左节点

如果右孩子为p或者q返回右节点

我的代码:

function lowestCommonAncestor(root: TreeNode | null, p: TreeNode | null, q: TreeNode | null): TreeNode | null {if(root === null) return null;if(root === p || root === q) return root;
//    遍历左子树const left = lowestCommonAncestor(root.left , p , q);// 遍历右子树const right = lowestCommonAncestor(root.right , p , q);// 进行判断// 左右子树都没有值为p和qif(!left && !right) return root;// 左子树为p或者q,右子树没有if(!right && left) return left;// 右子树有,左子树没有if(!left && right ) return right;if(left && right ) return root;return null;
};

解答错误:

在判断左右子树是否存在的时候出现了逻辑问题,

if(!left && !right) return root;和 return null;其实是一样的

其次,逻辑顺序也有问题,应该要先判断是否都存在,再进行接下来的判断

最终代码:

function lowestCommonAncestor(root: TreeNode | null, p: TreeNode | null, q: TreeNode | null): TreeNode | null {if(root === null) return null;if(root === p || root === q) return root;
//    遍历左子树const left = lowestCommonAncestor(root.left , p , q);// 遍历右子树const right = lowestCommonAncestor(root.right , p , q);// 进行判断// 左右子树都找到了p和qif(left && right) return root;// 左子树为p或者q,右子树没有if(!right && left) return left;// 右子树有,左子树没有if(!left && right ) return right;// 左右子树都没有找到pqreturn null;};

总结:这一道题需要看题目总结题目的简单做法,总归来说,先序遍历然后根据题目判断就可以了


文章转载自:

http://vfYEUH6T.ptLwt.cn
http://lL1aMOxJ.ptLwt.cn
http://6D0bLOiX.ptLwt.cn
http://UedT024h.ptLwt.cn
http://vC8NNheX.ptLwt.cn
http://zPfzIMLE.ptLwt.cn
http://GMWGEfew.ptLwt.cn
http://OQ73kLlj.ptLwt.cn
http://PF9FT4yU.ptLwt.cn
http://ErszxUC5.ptLwt.cn
http://yyGEyJsT.ptLwt.cn
http://AtzGzbD5.ptLwt.cn
http://uWNrsyf5.ptLwt.cn
http://uNIru2nW.ptLwt.cn
http://u7H9WUTL.ptLwt.cn
http://fevcgLa1.ptLwt.cn
http://ulaOEjoZ.ptLwt.cn
http://cKOJZMQi.ptLwt.cn
http://nSpccex6.ptLwt.cn
http://hEEmgHXi.ptLwt.cn
http://hBMdizZ8.ptLwt.cn
http://Jv8Trw5g.ptLwt.cn
http://UaBpXm6s.ptLwt.cn
http://9tphKrZv.ptLwt.cn
http://pntNqLjh.ptLwt.cn
http://LflDTFgm.ptLwt.cn
http://50iJkr7y.ptLwt.cn
http://67QLNHFj.ptLwt.cn
http://PypqIkAd.ptLwt.cn
http://BMvGOymx.ptLwt.cn
http://www.dtcms.com/wzjs/741659.html

相关文章:

  • 长沙优化网站建设哪家公司网站做得好
  • 永久免费云电脑南宁百度seo排名价格
  • 网站关键词百度自然排名优化wordpress接入微信登录
  • 网站排名第一建筑网站大全豆丁网
  • 兴国县城乡规划建设局网站镇江市住房与城乡建设部网站
  • wordpress建站网站根目录上海网页制作报价
  • 加盟企业网站建设目的站内营销推广方式有哪些
  • 站长素材音效下载保亭县住房城市建设局网站
  • 做网站前端有前途么wordpress推广链接插件
  • 做视频解析网站要什么服务器网站全屏轮播怎么做
  • 做下载类网站前景wordpress翻译版本
  • 制作网站设计的总结唐山公司网站建设 中企动力唐山
  • 做电商网站搭建就业岗位网络运营平台
  • 杭州网站关键词优化手机销售网站怎么做
  • 什么程序做教育网站好wordpress 问答模块
  • 怎么样让百度搜到自己的网站怎么做ps4的视频网站
  • 免费做店招哪个网站好哪个网站专做滨水景观
  • 宁波北仑做公司网站门户网站规划
  • 全国十大网站建设公司哪家好淘宝标题优化工具推荐
  • 现今网站开发的主流框架郑州官网网站推广优化公司
  • 手机英语学习网站触屏版手机wap用户登陆注册网站模板115成都网站建设sntuu
  • 江西南昌建设厅网站豪华大气的旅行社网站源码
  • 扁平风格网站 模板网站除了做流量还需要什么
  • 南京金九建设集团网站手机怎么自己制作图片
  • app手机网站网站怎么挖掘关键词
  • 建立网站有什么好处网站网络建设
  • 淘宝上可以做网站吗网站空间的管理站点
  • 株洲网站开发公司wordpress对seo
  • 住房及城乡建设部信息中心网站wordpress 书架
  • 全球最大购物网站跳转网站怎么做的