问题描述
解法
分析
Python 实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
class : def sumOfLeftLeaves(self, root): """ :type root: TreeNode :rtype: int """ def dfs(node, is_left): if not node: return 0 if not node.left and not node.right: if is_left: return node.val return 0 return dfs(node.left, True) + dfs(node.right, False) return dfs(root, False)
|
Java 实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
* Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ class { private int dfs(TreeNode node, boolean isLeft){ if(node == null){ return 0; } if(node.left == null && node.right == null){ if(isLeft){ return node.val; } return 0; } return dfs(node.left, true) + dfs(node.right, false); } public int sumOfLeftLeaves(TreeNode root) { return dfs(root, false); } }
|
时间复杂度
O(n).
空间复杂度
O(1).
链接
404. Sum of Left Leaves
404. 左叶子之和
(English version) Algorithm Notes: Leetcode#404 Sum of Left Leaves
近期评论