404. Sum of Left Leaves

题目来源:
 
自我感觉难度/真实难度:
 
题意:
 
分析:
 
自己的代码:
class Solution(object):def sumOfLeftLeaves(self, root):""":type root: TreeNode:rtype: int"""left=[]if not root:returnself.sumOfLeftLeaves(root.left)left.append(root.val)self.sumOfLeftLeaves(root.right)return sum(left)

 

代码效率/结果:
 
优秀代码:
class Solution:def sumOfLeftLeaves(self, root):""":type root: TreeNode:rtype: int"""result = 0if not root:return 0      if root.left and not root.left.left and not root.left.right:result += root.left.valreturn result+self.sumOfLeftLeaves(root.left)+self.sumOfLeftLeaves(root.right)   

 

代码效率/结果:
 36ms
自己优化后的代码:
 
反思改进策略:

1.树可以这样操作root.left.val

2.迭代要记住返回值是什么,想想最简单的情况

3.迭代可以出现在return中

 

转载于:https://www.cnblogs.com/captain-dl/p/10264184.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/395463.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Laravel Composer 命令大全

2019独角兽企业重金招聘Python工程师标准>>> ​​​​​​​1、安装 Laravel composer create-project --prefer-dist laravel/laravel 5.xx user-project 2、.env 文件操作 生成 APP_KEY:php artisan key:generate 缓存 .env 配置&#xff…

linux中initrd的含义,Linux2.6 内核的 Initrd 机制解析

1.什么是 Initrdinitrd 的英文含义是 boot loaderinitialized RAM disk,就是由 boot loader 初始化的内存盘。在 linux内核启动前, boot loader 会将存储介质中的 initrd 文件加载到内存,内核启动时会在访问真正的根文件系统前先访…

VBS基础篇 - 常量

VBS基础篇 - 常量 常量:指的是在程序运行过程中其值保持不变的量,它用来保存固定不变的数值,字符串等常数 。 常量的定义:在vbscript中使用使用 Const 指令可以创建名称具有一定含义的字符串型或数值型常量,并给它们赋…

为什么虚拟助手的前途一片光明

by Steve史蒂夫(Steve) 为什么虚拟助手的前途一片光明 (Why the future is bright for Virtual Assistants) I purchased my first mobile phone in the summer of 1999. I was 17 years old, growing up in a nondescript town in the Midlands of the United Kingdom. The p…

利用深度学习来预测股票价格变动

https://www.toutiao.com/i6644852565341110791/ 利用深度学习来预测股票价格变动(长文,建议收藏) 原创 不靠谱的猫 2019-01-10 21:01:39完整架构概述 在这篇文章中,我将创建一个预测股票价格变动的完整过程。我们将使用生成对抗网…

C语言 用链表对学号进行排序,求解C语言中建立一个对链表按照学号进行排序的问题...

功能:选择排序(由小到大)返回:指向链表表头的指针*//*选择排序的基本思想就是反复从还未排好序的那些节点中,选出键值(就是用它排序的字段,我们取学号num为键值)最小的节点,依次重新组合成一个链表。我认为写链表这类程…

字符集(CHARACTER SET)和校对集(COLLATE)

http://blog.sina.com.cn/s/blog_9707fac301016wxm.html http://www.th7.cn/db/mysql/201412/84636.shtml 从上文中可以看出character_set_connection、character_set_client、 character_set_results三个字符集什么时候用到。从实际上可以看到,当客户端连接服务器的…

shell 本地接口自动化

一.基于http/https的接口 一般情况下,当前大多公司在做接口自动化的时候都会使用一些工具;比如:postman/jmeter/python自研开发接口平台。。。 以上的情况,都是在源码与测试使用分离的情况下实践的。也就是说:目前国内…

hitchhiker部署_《 Hitchhiker的Python机器学习指南》

hitchhiker部署by Conor Dewey由Conor Dewey 《 Hitchhiker的Python机器学习指南》 (The Hitchhiker’s Guide to Machine Learning in Python) 提供实施代码,教学视频等 (Featuring implementation code, instructional videos, and more) 趋势 (The Trend) Machi…

CAD库中列举所有航路点

select distinct f1.airway_point_name,f1.latitude,f1.longitude,upper(f1.airway_point_type_name)type,f2.code_fir from airway_ordered_point f1, v_airway_point f2where f2.significant_point_idf1.airway_point_idorder by code_fir, type,airway_point_name转载于:htt…

第50次二级c语言真题,2006年4月全国计算机等级考试二级C语言笔试试卷含答案

一、选择题((1)一(10)每题2分,(11)一(50)每题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1)下列选项中不属于结构化程序设计方法的是…

python hashlib模块

摘要算法简介 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。 什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示&…

TZOJ 5101 A Game(区间DP)

描述 Consider the following two-player game played with a sequence of N positive integers (2 < N < 100) laid onto a 1 x N game board. Player 1 starts the game. The players move alternately by selecting a number from either the left or the right end o…

国家职业标准职业编码查询_为什么我学会编码而不是从事金融职业

国家职业标准职业编码查询by Amir Ghafouri通过阿米尔加富里(Amir Ghafouri) 为什么我学会编码而不是从事金融职业 (Why I learned to code instead of pursuing a career in finance) Last year I faced a major life and career decision: commit to pursuing a Chartered F…

go tool trace goalng调优工具

为什么80%的码农都做不了架构师&#xff1f;>>> 你想知道你的Go程序在做什么吗&#xff1f; go tool trace 可以向你揭示&#xff1a;Go程序运行中的所有的运行时事件。 这种工具是Go生态系统中用于诊断性能问题时&#xff08;如延迟&#xff0c;并行化和竞争异常…

程序员 文本编辑器 c语言,程序员必备的五款文本编辑器

原标题&#xff1a;程序员必备的五款文本编辑器程序员的工作离不开文本编辑器&#xff0c;有人说一个txt就能搞定&#xff0c;但txt面对如今复杂的要求&#xff0c;明显有些捉襟见肘&#xff0c;下面推荐五款超级好用的文本编辑器及搭配软件&#xff0c;绝对是程序员的大爱。程…

PCH文件的创建和配置

1.PCH文件的的创建 (1)CommandN (2)打开新建文件窗口:ios->other->PCH file&#xff0c;创建一个pch文件 2.PCH文件的配置 (1)在工程的TARGETS里边Building Setting中搜索Prefix Header (2)然后在Precompile Prefix Header下边的Prefix Header右边双击&#xff0c;添加刚…

ci 数据库异常捕获_系统地捕获错误:如何通过4个步骤构建GitLab CI测试管道

ci 数据库异常捕获by Joyz通过乔伊斯 系统地捕获错误&#xff1a;如何通过4个步骤构建GitLab CI测试管道 (Catch bugs systematically: how to build a GitLab CI testing pipeline in 4 steps) Your first app is a hit the day it’s launched. But one week later, you rea…

(小白)函数一: 声明函数的方法—语句定义法和表达式定义法的区别

一、函数的定义&#xff1a; 在说明什么是函数前先举一个小例子&#xff1a; 大家都知道印刷术是我国的四大发明&#xff08;科普一下&#xff1a;中国四大发明&#xff1a;造纸术、印刷术、火药、指南针&#xff09;之一&#xff0c;之所以有印刷术&#xff0c;是因为重复的抄…

android限制输入字符的范围,Android EditText 对输入字数和内容范围进行限制

在做定制机时&#xff0c;对光敏值进行范围控制时&#xff0c;以及对区号输入时遇到对输入字数以及输入内容的显示。找了好多方法&#xff0c;终于找到了几种方法其中EditText的addTextChangedListener功不可没。例如对光敏值要在0到61之间。大于61时要在输入框中自动变为61.代…