404.左叶子之和

69 阅读1分钟

题目:
给定二叉树的根节点 root ,返回所有左叶子之和。
算法: 注意是左叶子节点不是左节点。。

func sumOfLeftLeaves(root *TreeNode) int {
	res := 0
	var dfs func(node *TreeNode, isLeft bool)
	dfs = func(node *TreeNode, isLeft bool) {
		if node == nil {
			return
		}
		if isLeft && node.Left == nil && node.Right == nil{
			res = res + node.Val
		}
		dfs(node.Left, true)
		dfs(node.Right, false)
	}
	dfs(root, false)
	return res
}