输入:一颗二叉树
输出:这颗树的最下面一层最左边的节点值。
分析:

用BFS的思路解决最直观。读每一层,在每一层记录第一个元素的值。在队列中第一层:1;第二层:2,3;第三层 4,5,6。如此继续下去。只要保留下第一个元素的值,即为答案。

分析2:
 如果用DFS的思路,先序遍历树:1,2,4,3,5,7,6。遍历过程中带着当前节点的层次,每个层次只记录下遇到的第一个值。
 初始化:recordLevel=0,value=0。
 处理:对于节点root,层次level,如果level>recordLevellevel>recordLevellevel>recordLevel,则value=root.val,并且更新recordLevel=levelrecordLevel=levelrecordLevel=level。接着遍历左右节点。

代码

感悟:写代码就像写作一样。我们写作之前总是需要多读书,看别人怎么写,学习写作技巧。代码也一样,多看看别人写的代码,才会发现“哇,原来可以这样做啊”。看得多了,自己才可能会写。写作之前需要有独立思考,想明白要写什么,怎么写,有个大致轮廓。那会老师叫打草稿。有时候会写出来,有时候打的是腹稿。写代码也一样,写之前会先想清楚大概要怎么做,这么做是不是正确。

【Breadth-first Search 】513. Find Bottom Left Tree Value相关推荐

  1. 【LeetCode】513. Find Bottom Left Tree Value

    问题描述 问题链接:https://leetcode.com/problems/find-bottom-left-tree-value/#/description Given a binary tre ...

  2. LeetCode 513. Find Bottom Left Tree Value

    513. Find Bottom Left Tree Value Given a binary tree, find the leftmost value in the last row of the ...

  3. 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 3Ou ...

  4. Taste/Thoth:Taste Architecture 概览【转Beyond Search】

    Taste 有着非常清晰的程序架构.看图说话,下面就是一个 User-based Recommender 的例图,说明了各个组件之间的关系.而对于一个 Item-based Recommender,除 ...

  5. 【Full text search】检索条件具有完整的关键词布尔逻辑运算AND、OR、NOT能力

    全文检索需求 1)系统提供模糊检索.分类搜索.高级复合搜索.全文检索.图片内容检索.跨库检索等多种检索途径: 2)支持字索引和词索引: 3)检索条件具有完整的关键词布尔逻辑运算AND.OR.NOT能力 ...

  6. Leetcode | 513. Find Bottom Left Tree Value

    题目:翻转二叉树 方法①:深度优先遍历(链接) /** * Definition for a binary tree node. * struct TreeNode { * int val; * Tr ...

  7. [LeetCode] 513. Find Bottom Left Tree Value_ Medium tag: BFS

    Given a binary tree, find the leftmost value in the last row of the tree. Example 1: Input:2/ \1 3Ou ...

  8. leetcode讲解--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 ...

  9. 【mysql学习篇】为什么mysql用B+Tree?

    1. 各种数据结构的对比 二叉树 不会平衡树节点,如果插入一组递增的数值,会导致树的高度很高,查询起来非常耗时 假设{1,2,3,4,5,6 } 一组数据需要存储,那么他的树的高度就为6 红黑树(二叉 ...

最新文章

  1. Matlab系统信息、系统命令和跨平台
  2. 内存区域的划分和分配
  3. CentOS Vi编辑器
  4. 中台不火,天理难容!
  5. 新建远程仓库并推送项目
  6. 【推荐算法】知识驱动的智能化推荐算法(附交流视频和PPT下载链接)
  7. 从浏览器输入地址到渲染出网页这个过程发生了什么?
  8. /proc/cpuinfo文件分析(查看CPU信息)
  9. 【ICLR2020】Dream to Control:Learning Behaviors by Latent Imagination
  10. 「Photoshop 入门教程」了解 Photoshop 工作区
  11. uniapp原生插件-YL视频播放器
  12. 计算机桌面放大了,电脑桌面好像被放大了,怎么处理?
  13. 怎样登陆微信公众号?怎样登陆微信公众号后台?
  14. 轻量级c语言开发环境,几款轻量级的C/C++编写软件
  15. android 广播的插件化
  16. matlab决策树模型过程,利用MATLAB统计工具箱进行决策树分类的一个例子
  17. Windows下清理maven仓库中的lastUpdated文件
  18. 加减法叫做什么运算_加减法四则运算的计算方法是什么
  19. 【C语言程序设计】实验 11
  20. 实验六计算机网络通信Socket编程,计算机网络socket编程实验报告(3页)-原创力文档...

热门文章

  1. centos 7用ss命令来查看端口占用和对应进程
  2. ios企业应用发布流程
  3. 好久没发胡说八道的贴了,今天发一贴
  4. android终端系统时间,安卓应用修改系统时间
  5. JAVA实现美团电影价格抓取(附代码)
  6. MacOS中Nginx的安装「借助Homebrew」
  7. centos7 zookeeper3.5.6单点部署
  8. python3 centos7 Python.h无法找到
  9. jdk8 list转Map
  10. CentOS x64 安装gcc