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

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.dtcms.com/a/204554.html

相关文章:

  • 【python】纤维宽度分布分析与可视化
  • Node.js Express 项目现代化打包部署全指南
  • LAN(局域网)和WAN(广域网)
  • osgEarth中视角由跟随模式切换到漫游模式后没有鼠标拖拽功能问题分析及解决方法
  • 【VSCode】在远程服务器Linux 系统 实现 Anaconda 安装与下载
  • jenkins使用Send build artifacts over SSH发布jar包目录配置
  • AUTOSAR 运行时环境 (RTE)
  • CMake 跨平台构建系统详解
  • C++(26): 标准库 <iterator>
  • 基于python的机器学习(八)—— 评估算法(一)
  • 策略的组合与叠加多策略联合交易
  • 前端面经-nginx/docker
  • RTMP协议解析【三】
  • Linux服务器SOS Report完全指南:收集方法、作用解析与最佳实践
  • WPF···
  • 哥德巴赫猜想
  • 本特利内华达125768-01 RIM i/o模块规范
  • 8.2 线性变换的矩阵
  • QT的自定义控件
  • UI自动化测试框架:PO模式+数据驱动
  • 回表是数据库概念,还是mysql的概念?
  • 业务逻辑篇水平越权垂直越权未授权访问检测插件SRC 项目
  • 86.评论日记
  • 人工智能范式:技术革命下的认知重构
  • 手机充电协议
  • AI智能分析网关V4玩手机检测算法精准管控人员手机行为,搭建智慧化安防监管体系
  • 心联网(社群经济)视角下开源AI智能名片、链动2+1模式与S2B2C商城小程序源码的协同创新研究
  • 小刚说C语言刷题—1153 - 查找“支撑数”
  • 如何理解:什么是IT到OT的技术融合?
  • SPI协议软件实现 W25QXX flash 存储器