写点什么

[Day28]-[二叉树] 左叶子之和

作者:方勇(gopher)
  • 2022 年 4 月 28 日
  • 本文字数:414 字

    阅读完需:约 1 分钟

404. 左叶子之和

给定二叉树的根节点 root ,返回所有左叶子之和。

 

示例 1:



输入: root = [3,9,20,null,null,15,7] 输出: 24 解释: 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24
复制代码

示例 2:

输入: root = [1]输出: 0
复制代码

题解:

本题 一定要注意 是左叶子节点 而不是左节点 之和,叶子节点 是 node.Left = nil && node.Right=nil

func TestSumOfLeftLeaves(t *testing.T) {	root := &TreeNode{		Val: 1,		Left: &TreeNode{			Val: 2,		},		Right: &TreeNode{			Val: 3,			Left: &TreeNode{				Val: 4,			},			Right: &TreeNode{				Val: 5,			},		},	}	var dfs func(root *TreeNode, isLeft bool) int	dfs = func(root *TreeNode, isLeft bool) int {		if root == nil {			return 0		}		if isLeft && root.Left == nil && root.Right == nil {			return root.Val		}		return dfs(root.Left, true) + dfs(root.Right, false)	}	t.Log(dfs(root, false))}
复制代码


用户头像

Dead or Alive. 生存战斗是知识的源泉! 2018.11.08 加入

我是一名SRE哨兵,目前是好大夫基础架构部高级工程师。专注于 SRE,微服务、中间件的稳定性和可用性建设,整体负责好大夫服务治理云平台的设计和搭建!

评论

发布
暂无评论
[Day28]-[二叉树]左叶子之和_LeetCode_方勇(gopher)_InfoQ写作社区