Skip to content

Commit ba7eff6

Browse files
committed
First Tree-Question
1 parent 8acef6f commit ba7eff6

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

June25/BSTtoGST.go

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package main
2+
3+
type TreeNode struct {
4+
Val int
5+
Left *TreeNode
6+
Right *TreeNode
7+
}
8+
9+
func bstToGst(root *TreeNode) *TreeNode {
10+
sum := 0
11+
var dfs func(node *TreeNode)
12+
dfs = func(node *TreeNode) {
13+
if node == nil {
14+
return
15+
}
16+
// Traverse right subtree first
17+
dfs(node.Right)
18+
// Update sum and node value
19+
sum += node.Val
20+
node.Val = sum
21+
// Traverse left subtree
22+
dfs(node.Left)
23+
}
24+
25+
dfs(root)
26+
return root
27+
}

0 commit comments

Comments
 (0)