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

Day123 | 灵神 | 二叉树 | 找树左下角的值

Day123 | 灵神 | 二叉树 | 找树左下角的值

513.找树左下角的值

513. 找树左下角的值 - 力扣(LeetCode)

思路:

初学者可以看灵神视频二叉树的层序遍历【基础算法精讲 13】_哔哩哔哩_bilibili

我的思路就是在每层的循环前加个判断,把res更新队头元素,队头肯定是最左边的

灵神思路是先入队右孩子再入队左孩子,这样最后一个出队的肯定是最左边的

完整代码:

笔者思路:

class Solution {
public:int findBottomLeftValue(TreeNode* root) {queue<TreeNode *> q;int res=0;if(root==nullptr)return res;q.push(root);while(!q.empty()){int size=q.size();vector<int> path;for(int i=size;i>0;i--){TreeNode *t=q.front();q.pop();if(i==size)res=t->val;if(t->left)q.push(t->left);if(t->right)q.push(t->right);}}return res;}
};

灵神代码:

class Solution {
public:int findBottomLeftValue(TreeNode *root) {TreeNode *node;queue<TreeNode *> q;q.push(root);while (!q.empty()) {node = q.front(); q.pop();if (node->right) q.push(node->right);if (node->left)  q.push(node->left);}return node->val;}
};

递归写法:

class Solution {
public:int res;int curdepth=0;void tra(TreeNode *t,int depth){if(t->left==nullptr&&t->right==nullptr){if(depth>curdepth){res=t->val;curdepth=depth;}return;}if(t->left)tra(t->left,depth+1);if(t->right)tra(t->right,depth+1);}int findBottomLeftValue(TreeNode* root) {tra(root,1);return res;}
};
http://www.xdnf.cn/news/7763.html

相关文章:

  • Vue3中插槽, pinia的安装和使用(超详细教程)
  • 物联网之使用Vertx实现UDP最佳实践【响应式】
  • DataOutputStream DataInputStream转换流
  • I.MX6U Mini开发板测试GPIO
  • Linux中进程控制(上)
  • 【Rust智能指针】Rust智能指针原理剖析与应用指导
  • C++初阶-vector的模拟实现3
  • vue原生table表格实现动态添加列,一行添加完换行继续添加。el-select输入框背景颜色根据所选内容不同而改变
  • BeamDojo: Learning Agile Humanoid Locomotion on Sparse Footholds
  • 如果教材这样讲--单片机IO口Additional Functions和 Alternate Functions的区别
  • 基于Android的XX校园交流APP
  • 工业路由器WiFi6+5G的作用与使用指南,和普通路由器对比
  • Veo 3 可以生成视频,并附带配乐
  • springboot项目读取dll
  • RT_Thread——快速入门
  • 电子电路:怎么理解放大电路中集电极电流Ic漂移?
  • 如何使用Java生成pdf报告
  • 面向恶劣条件的道路交通目标检测----大创自用(当然你也可以在里面学到很多东西)
  • 如何使用AI搭建WordPress网站
  • SAP-ABAP:ABAP异常处理与安全工程的融合 —— 构建防注入、防泄漏、合规审计的防御性编程体系
  • C# Prism框架详解:构建模块化WPF应用程序
  • 轩辕杯Wp
  • 【Java】泛型在 Java 中是怎样实现的?
  • java day14
  • debian系统redis-dump安装
  • Vite + Vue 工程中,为什么需要关注 `postcss.config.ts`?
  • 如何用JAVA手写一个Tomcat
  • c#基础03(运算符)
  • LeetCode 3355.零数组变换 I:差分数组
  • 34、React Server Actions深度解析