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

leetcode 1123. Lowest Common Ancestor of Deepest Leaves 最深叶节点的最近公共祖先

Problem: 1123. Lowest Common Ancestor of Deepest Leaves 最深叶节点的最近公共祖先

解题过程

耗时100%,记录所有最长的路径,也就是到叶节点的路径,然后遍历所有最长路径,统计每个节点出现的次数,和最大值,第一条路径内最后等于最大值的节点就是所求。

Code

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} * TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {} * }; */ class Solution { public: vector<vector<TreeNode*>> tr; vector<TreeNode*> tmp; int mx = INT_MIN; void dfs(TreeNode* root) { if(root==nullptr) return; tmp.push_back(root); if(root->left == nullptr && root->right == nullptr) { if((int)tmp.size() > mx) { tr.clear(); tr.push_back(tmp); mx = (int)tmp.size(); } else if((int)tmp.size() == mx) { tr.push_back(tmp); } tmp.pop_back(); return; } dfs(root->left); dfs(root->right); tmp.pop_back(); } TreeNode* lcaDeepestLeaves(TreeNode* root) { dfs(root); if(tr.size() == 0) return nullptr; unordered_map<TreeNode*, int> ump; int mxmx = INT_MIN; for(int i = 0; i < tr.size(); i++) { for(int j = 0; j < tr[i].size(); j++) { ump[tr[i][j]]++; mxmx = max( mxmx, ump[tr[i][j]] ); } } TreeNode* pre = nullptr; for(int i = 0; i < tr[0].size(); i++) { if(ump[tr[0][i]]!=mxmx) { break; } pre = tr[0][i]; } return pre; } };
http://www.jsqmd.com/news/248137/

相关文章:

  • SSD1306中文手册解析:电源控制指令全面讲解
  • NotaGen部署实战:解决显存不足的8个技巧
  • 工资单里的“幽灵账户”:钓鱼邮件正悄悄改写高校员工的银行信息
  • 精准围猎:新型钓鱼工具包专攻意大利,本地化伪装成网络犯罪新范式
  • JupyterLab 禁用 Terminal 的三种方法(安装记录,仅供参考)
  • 一通电话撬开哈佛数据库:Vishing攻击如何绕过防火墙,直击“人肉漏洞”?
  • AI智能二维码工坊部署验证:功能测试与回归测试流程
  • Super Resolution技术解析:EDSR模型应用
  • 百考通AI文献综述功能:用智能技术打通学术写作的“第一公里”
  • OpenDataLab MinerU权限管理:多用户访问控制部署实战配置指南
  • 别再乱用 @State 了!鸿蒙状态管理避坑指南,看完省 3 天脱发时间
  • 基于springboot搭建的疫情管理系统(11701)
  • 你的鸿蒙 APP 包为啥这么大?资源瘦身终极方案,立减 30%
  • 基于springBoot政府管理的系统(11702)
  • HoRain云--Python量化投资:可视化工具全攻略
  • springboot经方药食两用服务平台(11703)
  • 基因的阴与阳!
  • Redis内存优化:如何在面试中脱颖而出?
  • 手把手教你用7款AI论文神器:1天生成万字论文全学科覆盖指南
  • 从照片到艺术:AI印象派工坊油画效果生成实战教程
  • NotaGen入门必看:WebUI界面使用完全指南
  • 导师推荐2026最新一键生成论文工具TOP9:MBA开题报告全攻略
  • HoRain云--JavaScript字符串操作全指南
  • 通义千问2.5-0.5B开源优势解析:Apache 2.0协议部署教程
  • IndexTTS-2-LLM实战指南:从模型部署到接口调用完整流程
  • 基于SpringBoot智能在线预约挂号管理系统设计实现
  • VIC水文模型完全指南:从零开始掌握流域模拟技术
  • springboot基于微信小程序的博物馆文创系统的设计与实现
  • IQuest-Coder-V1-40B部署教程:Python开发效率提升300%的秘诀
  • CSDN博客汇总(1-99篇)