[抄题]:

Find the sum of all left leaves in a given binary tree.

Example:

    3
/ \
9 20
/ \
15 7 There are two left leaves in the binary tree, with values 9 and 15 respectively. Return 24.

[暴力解法]:

时间分析:

空间分析:

[奇葩输出条件]:

[奇葩corner case]:

[思维问题]:

root.left root.right只是递归的过程,必须要真正到了叶子节点才能求和

[一句话思路]:

[输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入):

[画图]:

[一刷]:

  1. 左子树第一步先检验是否到了叶子节点,类似于特殊判断的思想,涨经验
  2. 在全树求和的题要+= 才行,不是递归一个算式就完了

[二刷]:

[三刷]:

[四刷]:

[五刷]:

[五分钟肉眼debug的结果]:

[总结]:

root.left root.right只是递归的过程,必须要真正到了叶子节点才能求和

[复杂度]:Time complexity: O(n) Space complexity: O(n)

[英文数据结构或算法,为什么不用别的数据结构或算法]:

[关键模板化代码]:

[其他解法]:

[Follow Up]:

[LC给出的题目变变变]:

[代码风格] :

/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public int sumOfLeftLeaves(TreeNode root) {
//corner case
if (root == null) {
return 0;
}
int sum = 0;
//left
if (root.left != null) {
if (root.left.left == null && root.left.right == null) {
sum += root.left.val;
}else {
sum += sumOfLeftLeaves(root.left);
}
}
//right
sum += sumOfLeftLeaves(root.right);
//return
return sum;
}
}

最新文章

  1. CentOS 7 安装 vmware-tools
  2. 2016HUAS_ACM暑假集训3C - Til the Cows Come Home
  3. ajax 之js读取xml的多浏览器兼容
  4. ubuntu连接Android调试
  5. python简单爬虫编写
  6. 管道Pipe
  7. (转)linux 技巧:使用 screen 管理你的远程会话
  8. 根据Excel列类型获取列的值
  9. C# 插入排序算法
  10. win7安装oracle10g数据库 提示“…实际版本为6.1”
  11. SpringMVC第五篇【方法返回值、数据回显、idea下配置虚拟目录、文件上传】
  12. JSP获取Cookie对象
  13. <自动化测试方案_7>第七章、PC端UI自动化测试
  14. Configuration in ASP.NET Core(未完,待续)
  15. 用jQuery实现参数自定义的文字跑马灯效果
  16. js获取判断苹果手机机型
  17. 第一篇:初识ASP.NET控件开发_第二节:HelloWorld
  18. inux man命令的使用方法(转)
  19. 深入jetty的使用详解
  20. 总结day2 ---- while循环的简单使用, 格式化输出.运算符.以及编码的应用

热门文章

  1. MIT App Inventor使用与入门教程
  2. 关于如何利用Pocket CHM Pro制作帮助文档
  3. 1-3 superset数据模型
  4. JVM内存管理之杂谈(借此也论一论obj=null)
  5. eclipse Mars(4.5.2)安装pydev后不出现
  6. (转)Inno Setup入门(八)——有选择性的安装文件
  7. com.mysql.jdbc.PacketTooBigException: Packet for query is too large (4593 > 1024)
  8. struts2学习(4)struts2核心知识III
  9. 杂项-数学软件:Mathematica
  10. 【POJ】2385 Apple Catching(dp)