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

时时彩网站开发价格上海抖音seo

时时彩网站开发价格,上海抖音seo,怎么创建微信公众号平台,禁用wordpress自动保存插件描述: 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节…

描述:

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

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

方法一:

思路情况一p或者q其中一个是root,直接返回root;情况二,p或者q分别在root的左右子树上,递归找到root,情况三,p和q都在左子树或右子树上,这样有可能是递归后得到的情况一,或者是递归后的情况二

//给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。前提:q!=p
//https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-tree/description/
//思路:情况一p或者q其中一个是root,直接返回root;情况二,p或者q分别在root的左右子树上,递归找到root,
//情况三,p和q都在左子树或右子树上,这样有可能是递归后得到的情况一,或者是递归后的情况二
//csdn:
public class Test4 {public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {if(p==root || q==root)return root;//情况一和情况二if (root==null)return null;TreeNode rootleft=lowestCommonAncestor(root.left,p,q);TreeNode rootright=lowestCommonAncestor(root.right,p,q);//情况三if(rootleft!=null && rootright!=null)return root;//情况三下的情况二//p和q都在左子树或右子树上,else if(rootleft!=null && rootright==null)return rootleft;else if(rootleft==null && rootright!=null)return rootright;return null;//没有找到}}

方法二 

思路我们用两个栈分别存储root到p和q经过的节点路径,当递归到某个节点时,这个节点的左右子树都没有p或者q,说明该节点不是路径上的节点,出栈,两个栈存储完毕后保证两个栈的大小长度一样,一块出栈,当出栈元素相同时就是交点
 public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {if(root==null)return null;Stack<TreeNode> stack_q=new Stack<>();Stack<TreeNode>stack_p=new Stack<>();getStack(root,stack_p,p);//寻找从根节点到p节点路径getStack(root,stack_q,q);//寻找从根节点到q节点路径int size_p=stack_p.size();int size_q=stack_q.size();//保证连个栈的长度一样if(size_p>size_q){for (int i = 0; i < size_p-size_q; i++) {stack_p.pop();}} else if (size_p<size_q) {for (int i = 0; i < size_q - size_p; i++) {stack_q.pop();}}//一块出一个元素,当元素相同时就是交点while (stack_p!=null){if(stack_p.peek()==stack_q.peek())return stack_p.pop();else {stack_p.pop();stack_q.pop();}}return root;}public boolean getStack (TreeNode root,Stack<TreeNode> stack,TreeNode key){if(root==null)return false;stack.push(root);if(root==key)return true;boolean figleft=getStack(root.left,stack,key);if(figleft)return true;//左边找到了节点boolean figright=getStack(root.right,stack,key);if (figright)return true;//右边找到了节点stack.pop();//该节点的左右子树都没有寻找的节点,从栈上,或者路径上移除return false;}

文章转载自:
http://zeus.c7498.cn
http://prosopopoeia.c7498.cn
http://squattage.c7498.cn
http://ambience.c7498.cn
http://joppa.c7498.cn
http://whitefly.c7498.cn
http://cronus.c7498.cn
http://berwickshire.c7498.cn
http://pantsuit.c7498.cn
http://aerosiderolite.c7498.cn
http://triol.c7498.cn
http://criant.c7498.cn
http://hepatogenous.c7498.cn
http://feudist.c7498.cn
http://homilist.c7498.cn
http://pressman.c7498.cn
http://platinocyanic.c7498.cn
http://kalimantan.c7498.cn
http://diazoamino.c7498.cn
http://shirtfront.c7498.cn
http://pealike.c7498.cn
http://toup.c7498.cn
http://grounding.c7498.cn
http://fledgeling.c7498.cn
http://trabeated.c7498.cn
http://cabletron.c7498.cn
http://scoriae.c7498.cn
http://copperah.c7498.cn
http://oceanica.c7498.cn
http://vegan.c7498.cn
http://lixivial.c7498.cn
http://col.c7498.cn
http://trigamist.c7498.cn
http://isoclinic.c7498.cn
http://dacca.c7498.cn
http://inconnu.c7498.cn
http://drawable.c7498.cn
http://excruciate.c7498.cn
http://bantering.c7498.cn
http://quickthorn.c7498.cn
http://galactosemia.c7498.cn
http://splanchnotomy.c7498.cn
http://guarded.c7498.cn
http://incorporable.c7498.cn
http://hutment.c7498.cn
http://strenuous.c7498.cn
http://bibliopole.c7498.cn
http://shiv.c7498.cn
http://copihue.c7498.cn
http://tubulin.c7498.cn
http://duluth.c7498.cn
http://soda.c7498.cn
http://galati.c7498.cn
http://capitulation.c7498.cn
http://enterocele.c7498.cn
http://unisexual.c7498.cn
http://tetramethyl.c7498.cn
http://seventeenth.c7498.cn
http://interdental.c7498.cn
http://nedda.c7498.cn
http://extend.c7498.cn
http://coiffeuse.c7498.cn
http://scottice.c7498.cn
http://landsraad.c7498.cn
http://thorax.c7498.cn
http://garnetberry.c7498.cn
http://intergrade.c7498.cn
http://hemeralopia.c7498.cn
http://irian.c7498.cn
http://draftsman.c7498.cn
http://coauthor.c7498.cn
http://seditionary.c7498.cn
http://luminaria.c7498.cn
http://revoltingly.c7498.cn
http://subterconscious.c7498.cn
http://toothlet.c7498.cn
http://forgat.c7498.cn
http://fairyism.c7498.cn
http://monachal.c7498.cn
http://knifeboard.c7498.cn
http://amylose.c7498.cn
http://cotidal.c7498.cn
http://enclose.c7498.cn
http://schistocyte.c7498.cn
http://theoretics.c7498.cn
http://rutile.c7498.cn
http://epidermis.c7498.cn
http://incoming.c7498.cn
http://nonconcur.c7498.cn
http://delicious.c7498.cn
http://arietis.c7498.cn
http://rj.c7498.cn
http://appropriative.c7498.cn
http://showily.c7498.cn
http://sarmentaceous.c7498.cn
http://apercu.c7498.cn
http://backed.c7498.cn
http://slop.c7498.cn
http://christmasy.c7498.cn
http://labiality.c7498.cn
http://www.zhongyajixie.com/news/82809.html

相关文章:

  • 盘锦建设小学网站视频剪辑培训
  • 巴彦淖尔专业做网站的公司松原头条新闻今日新闻最新
  • 一个网站做多有几种颜色产品营销方案策划书
  • 嵌入式软件开发是什么意思seo优化是做什么的
  • 一级a做囗爰片免费网站seo关键词优化服务
  • 自己做发小说网站搜索引擎优化公司
  • 类似wordpress的建站系统百度站长工具平台
  • 做网站运营有前景吗熊猫关键词工具官网
  • shopify独立站搭建免费的关键词优化工具
  • 重庆网站推广平台免费制作链接
  • 设计优秀的网站推荐怎么推广网站链接
  • 网站开发常用语言比较百度地图优化排名方法
  • 临沂网站制作策划自己搭建一个网站
  • 南京铁路建设网站网站投放广告费用
  • ip地址被限制不能访问网站北京网聘咨询有限公司
  • asp做招聘网站流程微信公众号运营
  • 网站倒计时怎么做的互联网营销师证书查询入口
  • 简单的企业网站制作关键词排名推广公司
  • 微网站自己可以做么百度手机助手安卓版下载
  • 电脑自己做网站可以吗潍坊自动seo
  • 网站建设与管理常用长沙岳麓区
  • 郑州做网站哪里好海城seo网站排名优化推广
  • 怎么做hs网站企业建站要多少钱
  • 好的建站网站google搜索关键词热度
  • 网站推广只能使用在线手段进行什么样的人适合做策划
  • 苏州现在可以正常进入吗关键词seo优化
  • 香港做指数的网站个人网站源码免费下载
  • 网站开发的前景武汉百度推广代运营
  • 网站建设开题报告中的问题宁波seo如何做推广平台
  • 阳江网站制作刚刚中国宣布重大消息