題目:原題鏈接(簡單)
解法 | 時間複雜度 | 空間複雜度 | 執行用時 |
---|---|---|---|
Ans 1 (Python) | O(n) | O(n) | 44ms (65.99%) |
LeetCode的Python執行用時隨緣,只要時間複雜度沒有明顯差異,執行用時一般都在同一個量級,僅作參考意義。
解法一(遞歸):
def sumOfLeftLeaves(self, root: TreeNode) -> int:
def helper(node, maybe=False):
if node is None:
return 0
if node.left is None and node.right is None:
if maybe:
return node.val
else:
return 0
elif node.right is None:
return helper(node.left, maybe=True)
elif node.left is None:
return helper(node.right)
else:
return helper(node.left, maybe=True) + helper(node.right)
return helper(root)