【亡羊补牢】挑战数据结构与算法 第43期 LeetCode 404. 左叶子之和(二叉树)
发布日期:2021-06-29 14:34:23
浏览次数:2
分类:技术文章
本文共 1054 字,大约阅读时间需要 3 分钟。
仰望星空的人,不应该被嘲笑
题目描述
计算给定二叉树的所有左叶子之和。
示例:
3 / \ 9 20 / \ 15 7在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/sum-of-left-leaves 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。解题思路
dfs
,求左叶子之和,叶子结点我们比较好判断,而对于左孩子,我们设置一个标记就好了,例如左孩子标记 1
,右孩子标记 0
,那么当且仅当是叶子节点,并且标记为 1
(即左孩子)时,我们进行累加求和。
/** * Definition for a binary tree node. * function TreeNode(val) { * this.val = val; * this.left = this.right = null; * } *//** * @param {TreeNode} root * @return {number} */var sumOfLeftLeaves = function (root) { if (!root) return 0; let res = 0; let dfs = (cur,root) => { // 判断是叶子节点并且是左子树 if (!root.left && !root.right && cur) { res += root.val; return; } // 先遍历左子树在遍历右子树 // 设置cur为1代表是左子树,为0代表右子树 root.left && dfs(1,root.left); root.right && dfs(0,root.right); } dfs(0,root); return res;};
最后
文章产出不易,还望各位小伙伴们支持一波!
往期精选:
小伙伴们可以在Issues中提交自己的解题代码,🤝 欢迎Contributing,可打卡刷题,Give a ⭐️ if this project helped you!
,方便小伙伴阅读玩耍~
学如逆水行舟,不进则退
转载地址:https://chocolate.blog.csdn.net/article/details/108791676 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2024年04月04日 15时15分32秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
JSON.parse和eval的区别
2019-04-29
JQuery中$.ajax()方法参数详解
2019-04-29
正则表达式的数字实例
2019-04-29
OGNL表达式struts2标签“%,#,$”的区别
2019-04-29
struts2中<s:if>标签的使用
2019-04-29
js 刷新页面window.location.reload();
2019-04-29
【转】EasyUI 验证
2019-04-29
java开发时内存溢出问题
2019-04-29
【easyui】combobox 关于省市联动
2019-04-29
设置csdn皮肤方法,更改自己喜欢的老版皮肤
2019-04-29
Eclipse中无法查看JDK源码,解决方法
2019-04-29
Git操作常用口令
2019-04-29
IDEA去除掉虚线,波浪线,和下划线实线的方法
2019-04-29
MYSQL新特性secure_file_priv 读写文件
2019-04-29
idea中的一些常用快捷键
2019-04-29
最值得拥有的免费Bootstrap后台管理模板
2019-04-29
Django获取请求头信息和返回json数据
2019-04-29