From 7f687781b37e095f8bda310172819df770887067 Mon Sep 17 00:00:00 2001 From: Gleb Koval Date: Fri, 5 Nov 2021 16:02:35 +0000 Subject: [PATCH] sum-of-left-leaves --- sum-of-left-leaves/sol.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 sum-of-left-leaves/sol.go diff --git a/sum-of-left-leaves/sol.go b/sum-of-left-leaves/sol.go new file mode 100644 index 0000000..7246a30 --- /dev/null +++ b/sum-of-left-leaves/sol.go @@ -0,0 +1,23 @@ +package main + +type TreeNode struct { + Val int + Left *TreeNode + Right *TreeNode +} + +// Time: O(n) +// Space: O(1) +func sumOfLeftLeaves(root *TreeNode) int { + return soll(root, false) +} + +func soll(root *TreeNode, include bool) int { + if root == nil { + return 0 + } + if root.Left == nil && root.Right == nil && include { + return root.Val + } + return soll(root.Left, true) + soll(root.Right, false) +}