aboutsummaryrefslogtreecommitdiffstats
path: root/938/main.go
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--938/main.go34
1 files changed, 34 insertions, 0 deletions
diff --git a/938/main.go b/938/main.go
new file mode 100644
index 0000000..89c18d3
--- /dev/null
+++ b/938/main.go
@@ -0,0 +1,34 @@
+package main
+
+import "fmt"
+
+type TreeNode struct {
+ Val int
+ Left *TreeNode
+ Right *TreeNode
+}
+
+func preOrder(node *TreeNode, sum *int, low, high int) {
+ if node == nil {
+ return
+ }
+
+ if node.Val >= low && node.Val <= high {
+ *sum += node.Val
+ }
+
+ preOrder(node.Left, sum, low, high)
+ preOrder(node.Right, sum, low, high)
+}
+
+func rangeSumBST(root *TreeNode, low int, high int) int {
+ sum := 0
+
+ preOrder(root, &sum, low, high)
+
+ return sum
+}
+
+func main() {
+ fmt.Println("vim-go")
+}