范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

236二叉树的最近公共祖先算法(附思维导图全部解法)300题

  零 标题:算法(leetcode,附思维导图 + 全部解法)300题之(236)二叉树的最近公共祖先
  一 题目描述
  二 解法总览(思维导图)
  思维导图
  三 全部解法1 方案1
  1)代码: // 方案1 "自己。递归-存储所有路径法"。  // 思路: // 1)状态初始化:resList = [], curPpath = []; 。 // 2)调用递归函数。 // 3)核心:依次从底下往上找 p、q 的公共祖先。 var lowestCommonAncestor = function(curRoot, p, q) {     // 递归函数     var dfs = function(curPath, curRroot){         const {left, right} = curRroot;         curPath.push(curRroot);                  // 1)递归出口。         if (left === null && right === null) {             resList.push(curPath.slice());             return;         }          // 2)递归主体。         if (left === null && right !== null) {             dfs(curPath, right);             curPath.pop();         }         else if (left !== null && right === null) {             dfs(curPath, left);             curPath.pop();         }         else {             dfs(curPath, left);             curPath.pop();             dfs(curPath, right);             curPath.pop();         }     }      // 1)状态初始化:resList = [], curPpath = []; 。     let resList = [],         curPath = [];      // 2)调用递归函数。     dfs(curPath, curRoot);      // 3)核心:依次从底下往上找 p、q 的公共祖先。     let p_path = resList.filter(item => item.includes(p))[0],         q_path = resList.filter(item => item.includes(q))[0];          for(let i = p_path.indexOf(p); i >= 0; i--){         if(q_path.slice(0, q_path.indexOf(q) + 1).includes(p_path[i])){             return p_path[i];         }     } };
  2 方案2
  1)代码: // 方案2 "递归法"。 // 参考: // 1)https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-tree/solution/er-cha-shu-de-zui-jin-gong-gong-zu-xian-by-leetc-2/  // 思路: // 1)状态初始化:resNode = null; 。 // 2)调用递归函数 dfs(root, p, q); 。 // 3)返回结果 resNode 。 var lowestCommonAncestor = function(root, p, q) {     const dfs = (curRoot, p, q) => {         // 1)递归出口。         if(curRoot == null){             return false;         }          // 2)递归主体。         let inCurrentNode = curRoot === p || curRoot === q,             inLeft = dfs(curRoot.left, p, q),             inRight = dfs(curRoot.right, p, q);                  if((inLeft && inRight) || (inCurrentNode)){             resNode = curRoot;         }         return inLeft || inRight || inCurrentNode;     }      // 1)状态初始化:resNode = null; 。     let resNode = null;      // 2)调用递归函数 dfs(root, p, q); 。     dfs(root, p, q);      // 3)返回结果 resNode 。     return resNode; };
  3 方案3
  1)代码: // 方案3 "存储父节点法"。 // 参考: // 1)https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-tree/solution/er-cha-shu-de-zui-jin-gong-gong-zu-xian-by-leetc-2/ // TODO:重新手撕。  // 思路: // 1)状态初始化:resParentMap = new Map(), visitedSet = new Set() 。 // 2)调用递归函数 dfs(root); 。 // 3)核心处理:暂略(TODO)。 var lowestCommonAncestor = function(root, p, q) {     const dfs = (curRroot = null) => {         const {left, right} = curRroot;                  if (left !== null) {             resParentMap.set(left.val, curRroot);             dfs(left);         }          if (right !== null) {             resParentMap.set(right.val, curRroot);             dfs(right);         }     };      // 1)状态初始化:resParentMap = new Map(), visitedSet = new Set() 。     let resParentMap = new Map(),         visitedSet = new Set();          // 2)调用递归函数 dfs(root); 。     dfs(root);      // 3)核心处理:暂略(TODO)。     while (p != null) {         visitedSet.add(p.val);         p = resParentMap.get(p.val);     }     while (q != null) {         if (visitedSet.has(q.val)) {             return q;         }         q = resParentMap.get(q.val);     } }
  四 资源分享 & 更多1 历史文章 - 总览
  历史文章 - 总览
  刷题进度 - LeetCode:526 / 2662 、《剑指offer》:66 / 66
  2 博主简介
  码农三少 ,一个致力于编写  极简、但齐全题解(算法 ) 的博主。 专注于  一题多解、结构化思维  ,欢迎一起刷穿 LeetCode ~

都是奔着穆帅来的!罗马买5人还净赚2200万,还有2大强援接近加盟罗马官宣引进荷兰中场维纳尔杜姆之后,仍然有望再签两大强援,他们就是前锋贝洛蒂和中卫巴伊。据了解,贝洛蒂为了加盟穆里尼奥执教的罗马,他已经拒绝了三四支球队的邀请。这个夏季转会窗,罗马iPhone14发布在即!郭明錤再放言Q2印度工厂首次与中国同时出货8月5日消息,知名苹果分析师郭明錤发布推文称,据其最新调查,富士康在印度的iPhone生产基地将在2022年首次与中国几乎同时出货新款6。1英寸iPhone14。郭明錤表示,在过去开源版MES加工装配模拟系统源码工厂加工装配流程工序管理源码一开发环境为VisualStudio2010,数据库为SQLServer2008R2,使用。net4。0开发。二源码特点大学机械科上位机加工装配模拟实验,目前正常用于实验当中。环境金立前高管团队重聚创业,首款手机已开始生产与荣耀等同工厂南都讯记者严兆鑫8月5日,金立前副总裁俞雷在微博晒出工厂实景图并配文表示,其创立的新品牌FreeYond首款手机已正式下线生产。针对网友关于手机和代工厂的疑问,俞雷在评论区透露,新6小时6笔签约!勇士双喜临门,火箭要续约波特,湖人全新交易方案NBA联盟现在没有大的签约和交易,勒布朗詹姆斯和湖人的提前续约谈判,这可能是最近最大的新闻。詹姆斯和里奇保罗,与湖人佩林卡进行了会面,詹姆斯阵营希望施压管理层,帮助湖人重组争冠阵容8月7日立秋,宁可少吃肉也要吃秋季6宝,去火润燥,吉祥安康8月7日立秋,宁可少吃肉也要吃秋季6宝,去火润燥,吉祥安康8月7日就是今年的立秋节气了,月令七十二候集解七月节,立字解见春(立春)。秋,揪也,物于此而揪敛也。立秋节气,是秋天的第一小米智能穿戴选购攻略,全网详细解析避踩坑自从苹果发布AppleWatch后,智能手表这个概念很快就被市场接受,并且在短时间内开辟出一个庞大的智能手表市场。伴随着手机热潮的褪去,科技数码产品的未来或许是智能可穿戴设备,为我你的手机什么时候升级鸿蒙3。0?这份详细名单请拿走虽然鸿蒙3。0已经发布了一段时间,但身边仍有不少朋友不清楚自己机型的升级时间。于是乎我找来了官方的升级计划图,将其进行详细拆解,大家可以更细致知道自己机型的升级时间。首先是第一批升美杜莎传奇手游神兽领域玩法详细介绍进入条件开服95天32转即可进入神兽之家神兽满级5星1打宝地图神兽领域养成材料主要获得途径(神兽)(1)地图介绍神兽之家共有12层地图,层数越高,怪物抗性越高,爆率也越高。(2)地arm嵌入式主板详细介绍,让你秒懂想要接触嵌入式,就要知道嵌入式主板,嵌入式主板是嵌入在设备里面做控制数据处理使用的CPU板,常见的有两类,即基于X86的嵌入式主板和基于RISC的ARM嵌入式主板。今天我们就来认识华为Mate50系列或于9月12日发布,详细配置曝光,还有问界M5EV据知名爆料人YashRaj透露,华为Mate50系列手机将于9月12日推出,并曝光了详细配置。华为Mate50发布日期爆料华为Mate50和华为Mate50Pro将会使用6。286
如何区分,社会资本下乡的善与恶?引发7。7亿农民为此担忧头条创作挑战赛进入新发展阶段,贯彻新发展理念,构建新发展格局,在这个奋进新征程建功新时代道路上,发展为了谁,发展依靠谁,发展成果由谁共享?答案,只有两个字人民。同时,更不能忘了农民精算师协会发出消费提示购买增额终身寿险要谨慎来源经济日报近日,某保险公司的一款增额终身寿险产品因为复利3。5稳赚不赔跑赢通胀等宣传语而引发关注。对此,中国精算师协会发出消费提示称,有的保险营销员在销售增额终身寿险产品过程中涉如果你从上市起就买了平安我是诺诺的富爸爸,读过100多本投资经典,为您讲透股票背后的逻辑。关注我吧!如果你在2007年3月1日,中国平安上市的第一天,以当天的开盘价50元的价格买了一手中国平安,采用分红复田惠宇被双开大搞权力与资本勾连,靠金融吃金融撰文高语阳十一假期结束后第一天,中央纪委打虎。10月8日,招商银行股份有限公司原党委书记行长田惠宇严重违纪违法被开除党籍和公职。田惠宇于今年4月22日落马。长期在银行系统工作田惠宇普京下令更换萨哈林1号油气项目运营商美企出局俄罗斯总统弗拉基米尔普京7日下令俄政府另外设立一家企业,负责运营俄远东大陆架的萨哈林1号石油天然气项目。这意味着俄方将从美国能源巨头埃克森美孚公司在俄子公司手中收回萨哈林1号主导运英媒许家印准备出售伦敦一豪宅,购入价近18亿元许家印恒大李嘉诚英国豪宅许家印及其旗下恒大又双叒叕引发广大网友的关注和热议!根据多家媒体于十一小长假最后一天(即昨天,10月7日)发布的报道显示据外媒的消息报道,中国恒大集团创办人二汽竺延风十堰峥嵘而崔嵬,不破荆楚誓不归,不信东风唤不回2015年5月,原一汽集团董事长竺延风空降武汉,担任东风集团新的掌门人,令全国上下一片哗然。竺延风是中国汽车界大名鼎鼎的人物,生于一汽长于一汽,38岁就当上一汽集团董事长,故有一汽大胸姐吴优没有挤不出的时间,只有不在乎的想念没有不能实现的永远,只有不会珍惜的情感。原来,没时间是不想有时间,不珍惜是不想去珍惜!失去的东西,回来已经不需要了失去的感情,回来已经不重要了。不又到了打枣的季节,勾起了儿时的记忆,苦中透着甜8月天高云淡,瓦蓝瓦蓝的天空,偶尔飘着一朵一朵白云,少儿时喜欢坐在枣树下,一边吃着还没有红透的枣儿,一边仰望着浩瀚无际的天空,幻想着那云一会像小狗小猫,一会像白马老虎,还像挑水的老王长伟十月七日农历九月十二写秋王长伟十月七日农历九月十二写秋一hr秋雨绵绵秋夜凉,秋风无力秋水殇。秋花随风雨中飘,秋虫呢喃秋草黄。秋燥转瞬变秋冷,秋灯惨淡秋泉香。秋燕驾驭秋风飞,秋菊怒放秋韵长。二hr秋燥天旱久我是一名农民工,一个为生活而努力奋斗的人,我骄傲我是一名农民工,一个生活在社会底层的职业。但是我还是愿意为了自己和家庭而努力奋斗的人,我骄傲农民工,一个词涵盖了两种职业,他们到底是农民还是工人?在我看来他们是一群为了能让家庭更幸在选择保险时,千万不要凭一时冲动和脑热,一定要以数据为参考保险闭门关,关关数据前。静中思取舍,私下虑周全。2022年上半年,61家非上市寿险公司,29家盈利,32家亏损。净利润44亿,创近年新低。其中泰康人寿,继续蝉联盈利NO。1,投资收被官方点名表扬的电视剧,你看过几个?小编码字不易,欢迎关注种草点赞转发,留言讨论。(关注不迷路,带你上高速,小编其他文章影视推荐也不错)第一部,幸福到万家。该剧是由郑晓龙刘雪松姚远联合执导,赵丽颖刘威唐曾领衔主演,罗莎昱立功陈梦稳健,中国女乒完胜日本,乒球霸主实至名归乒乓球团体世锦赛,中国男团在半决赛遭遇苦战,张本智和状态火热独得两分,但中国国乒依旧以3比2笑到最后,中国女团同样要在决赛迎来日本的挑战,不过日乒这次没有派上早田希娜,而是选择木原RNG击败GEN,拿下小组赛首胜!小虎冰女全场游走,节奏起飞S12世界赛小组赛RNG和GEN的比赛,最终RNG成功击败了GEN,拿下了小组赛的首胜。双方这一局的BP如下,GEN这边ban了佛耶戈剑姬小炮泰坦和卡莎,选择了上单剑魔,打野波比,vivo原子布吉岛曝光对标苹果灵动岛这效果简直了手机中国新闻iPhone14Pro系列的灵动岛设计在网上引起很多争议,但这并不影响14Pro系列大卖特卖。随着灵动岛持续火热,不少安卓第三方也弄了很多类似的设计。不过,能不能搞个什风起云涌萨拉赫,昙花多现破质疑01风起古老的埃及,在1992迎来了日后带领埃及足坛崛起的关键人物穆罕默德萨拉赫。鲜有人知的是,出生于埃及加比亚省巴斯尤恩市一个小村庄的萨拉赫最初在绿茵场上的扮演的角色是边后卫。2最近顶流明星李易峰被放出来了,今后的生活让他难以抉择最近因嫖娼被捉的顶流明星李易峰被放出来了有记者拍到他先回了家,接着又回公司,虽然之前的嫖娼事件对他影响很大,但依旧还有大批的粉丝在等候着他,不知道是不是因为犯了事要剪的短发,还是因写给十年后的自己突然想写这个题,自己也吃了一惊。想来,一是感慨时光如梭,往日不可追,二是迷茫于当下,怎奈前路漫漫。但内心既然呼唤,想必是确有所感,就把自己内心所想全然写下,写给自己,写给明天,无悔一个苹果树的故事,让你明白病因是怎么来的一个苹果树的故事,让你明白病因是怎么来的?医生告诉得大病的人,一定要调理好身体,不然会出现复发转移的。但是医生不会给长寿老人讲这句话的,但他会给长寿老人这样讲,一定保持好这些生活好库兹马来了?篮网或启动交易,他和杜兰特绝配篮网队在留下杜兰特后,新赛季再度掀起冲冠的势头,可就在球迷对他们的期盼中,篮网却在季前赛输得一塌糊涂。与76人的季前赛,在对方哈登恩比德2大巨星缺席的情况下,不仅讨得便宜,还挨了一卧槽,这台iPhone14Pro被炒到93万了10月9日,节后上班的第二天。苹果,又住在了热搜上。事情是这样子的,有台iPhone14Pro,开始了预售。这不新奇。但是,这台iPhone14Pro标价93万元。而且全球限量,只