513. Find Bottom Left Tree Value

2023-11-05

Given a binary tree, find the leftmost value in the last row of the tree.

Example 1:
Input:

    2
   / \
  1   3

Output:
1

Example 2:
Input:

    1
   / \
  2   3
 /   / \
4   5   6
   /
  7

Output:
7

Note: You may assume the tree (i.e., the given root node) is not NULL.

其实本题目的意思是找二叉树最底层的第一个叶子节点
思路1:用队列实现

int findBottomLeftValue(TreeNode* root) {
    if (root == NULL)return 0;
    queue<TreeNode *> temp;
    int val = 0;
    temp.push(root); 
    while (!temp.empty()){
        int size = temp.size();
        val = temp.front()->val;
        while (size--){
            TreeNode *p = temp.front();
            temp.pop();
            if (p->left)temp.push(p->left);
            if (p->right)temp.push(p->right);
        }
    }
    return val;
}

思路2:递归

class Solution {
private:
    int height = 0, val = 0;
public:
    void helper(TreeNode *root, int depth){
        if (root == NULL)return;
        if (height < depth){
            val = root->val;
            height = depth;
        }
        helper(root->left, depth + 1);
        helper(root->right, depth + 1);
    }

    int findBottomLeftValue(TreeNode* root) {
        if (root == NULL)return 0;
        helper(root, 1);
        return val;
    }
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

513. Find Bottom Left Tree Value 的相关文章

  • sublime text 3 扩展插件SideBarEnhancements用法教程

    SideBarEnhancements本是增强侧边栏的插件 这里将教大家如何用来做sublime text 3浏览器预览插件 并可自定义浏览器预览的快捷键 第一步 安装此插件 在sublime里面ctrl shift p install p
  • springboot-静态资源目录的配置

    一 通过配置文件配置 配置节点 spring web resources static locations值为要配置的静态资源存放目录如 spring web resources static locations classpath tes
  • IP包头结构定义以及结构体iphdr分析

    Linux linux 可以使用 http blog csdn net dreamintheworld article details 52096675 中的例程来实践通讯过程 来看一下IP包 IP头结构的定义 包格式解析如图 数据对应 对

随机推荐

  • word中添加Mathtype公式行间距改变问题

    在mathtype中编辑任何一个公式 将字体调整好 然后在公式编辑窗口中点 Preference Save to file 将设置保存为一个文件 文件名任取 关闭公式编辑窗口 退回到Word窗口 然后在Mathtype菜单中点 Format
  • xrdp无法启动

    xrdp突然无法启动l systemctl start xrdp A dependency job for xrdp service failed See journalctl xe for details 查看日志信息 journalct
  • 分享25个适合上班族的副业路子

    你是否也曾经在为每个月的工资发愁 你是否想过做点副业来增加收入 现在很多上班族的工资 已经难以满足他们的生活需求了 很多人开始尝试通过副业来增加收入 那么上班族要如何寻找适合自己的副业呢 下面就给大家分享25个适合上班族的副业赚钱路子 或许
  • 密码学加密模式分类

    目录 电子密码本模式 Electronic Codebook ECB 密码分组链接模式 Cipher Block Chaining CBC 密文反馈模式 Cipher Feedback CFB 输出反馈模式 Output Feedback
  • RepBaseRepeatMaskerEdition下载

    开源的生物信息世界居然有这么个需要注册才能下载的工具 开源世界不是怎么方便怎么来吗 这个注册真的麻烦 这里上传了一个可以使用的版本 RepBaseRepeatMaskerEdition 20170127 tar gz 想转成fasta可以用
  • 程序员财富自由之路 自媒体篇

    疫情期间 很多人的收入多多少少都受到了影响 当然 有的人坐吃山空 也有的人收入翻倍 我仔细观察了一下这些收入翻倍的人 发现他们基本都离不开三个字 哪三个字 就是自媒体 自媒体是什么 自媒体是指以内容为中心 个人创作者以网络的形式进行内容传播
  • Linux文件下I/O基础详解

    视频地址 华清远见 https www bilibili com video BV1dz411B7vj p 1 文件基础 一组相关数据的有序集合 文件类型 常规文件 r 二进制文件 ASCII码文件 目录文件 d 字符设备文件 c 块设备文
  • Python->进程-线程->TCP服务器客户端-服务端->返回固定数据的静态web服务器-学习

    作者 芝士小熊饼干 系列专栏 Python 坚持天数 12天 获取进程id和进程的父id 进程名 导入包 import multiprocessing import time import os 创建任务 def task1 print f
  • Django-admin录入中文错误:Incorrect string value

    在Django自带后台中经常会出现编码错误 Incorrect string value xE7 xAE x80 xE5 x8D x95 for column message at row 1 需要修改admin表的中的编码 才能保证数据正
  • Rust- FFI (Foreign Function Interface)

    Foreign Function Interface FFI is a mechanism that allows code written in one language to call code written in another l
  • 手写ArrayStack底层 实现代码

    一 接口的定义 package p1 接口 public interface Stack
  • 华为OD机试真题B卷 Java 实现【统计字符】,附详细解题思路

    一 题目描述 输入一行字符 分别统计出包含英文字母 空格 数字和其它字符的个数 数据范围 输入的字符串长度满足 1 le n le 1000 1 n 1000 二 输入描述 输入一行字符串 可以有空格 三 输出描述 统计其中英文字符 空格字
  • ECharts画动态仪表盘+柱状图(ajax获取+循环画图)

    出来工作几个月了 整理下最近学的的东西 刚刚才开通博客 第一篇就先画仪表盘 柱状图 有什么写的不好的地方 请大家多多指教 jsp中首先要引用几个文件 xx xxx js 是我js代码存放的文件
  • C++标准库异常类

    C 标准库异常类继承层次中的根类为exception 其定义在exception头文件中 它是C 标准库所有函数抛出异常的基类 exception的接口定义如下 namespace std class exception public ex
  • 记一个复制黏贴的功能想法(黏贴剪切板中的数字自增,复制黏贴自增)

    起因 照例是要写起因的 起因非常之简单 不知道大家有没有遇到过需要输入连续的 id 101 id 110 这类数字的时候 这个时候能做的基本上是复制100 黏贴100 然后手动改 101 102 在我的脑海里 除了使用excel 其他没有很
  • 【华为机试真题 JAVA】执行时长-100

    编程题目 100分 执行时长 2021 2022 Q2考试题 时间限制 C C 1秒 其他语言 2秒 空间限制 C C 262144K 其他语言524288K 64bit IO Format lld 本题可使用本地IDE编码 不能使用本地已
  • 面对对象--结构体和类的区别

    一 面向对象 结构体和类的区别 结构体是一种值类型 而类是引用类型 值类型用于存储数据的值 引用类型用于存储对实际数据的引用 那么结构体就是当成值来使用的 类则通过引用来对实际数据操作 构使用栈存储 Stack Allocation 而类使
  • 利用腾讯云函数隐藏C2服务器

    1 简介 腾讯云函数 可以为企业和开发者提供无服务器执行环境 无需购买和管理服务器 只需要在腾讯云上使用平台支持的语言编写核心代码并设置代码运行的条件 即可在腾讯云基础设施上弹性 安全地运行代码 C2服务器所有流量通过腾讯云函数进行转发 由
  • Html04_input框中的value/key/placeholder到底是什么

    1 input框中的value值到底是什么 value 属性为 input 元素设定值 input标签有很多类型 也就是type 对于不同的输入类型 value 属性的用法也不同 以下是一些常用type的说明 text 文本框 input默
  • 513. Find Bottom Left Tree Value

    Given a binary tree find the leftmost value in the last row of the tree Example 1 Input 2 1 3 Output 1 Example 2 Input 1