mirror of
https://github.com/krahets/hello-algo.git
synced 2026-05-12 11:37:08 +08:00
Merge pull request #220 from Reanon/bugfix/fix-go-code-style
style(go): fix go code style
This commit is contained in:
@@ -76,7 +76,7 @@ func printTreeHelper(root *TreeNode, prev *trunk, isLeft bool) {
|
||||
printTreeHelper(root.Left, trunk, false)
|
||||
}
|
||||
|
||||
// trunk Help to Print tree structure
|
||||
// trunk Help to print tree structure
|
||||
type trunk struct {
|
||||
prev *trunk
|
||||
str string
|
||||
@@ -103,4 +103,4 @@ func PrintMap[K comparable, V any](m map[K]V) {
|
||||
for key, value := range m {
|
||||
fmt.Println(key, "->", value)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,11 +25,12 @@ func NewTreeNode(v int) *TreeNode {
|
||||
}
|
||||
|
||||
// ArrToTree Generate a binary tree given an array
|
||||
func ArrToTree(arr []int) *TreeNode {
|
||||
func ArrToTree(arr []any) *TreeNode {
|
||||
if len(arr) <= 0 {
|
||||
return nil
|
||||
}
|
||||
root := NewTreeNode(arr[0])
|
||||
// TreeNode only accept integer value for now.
|
||||
root := NewTreeNode(arr[0].(int))
|
||||
// Let container.list as queue
|
||||
queue := list.New()
|
||||
queue.PushBack(root)
|
||||
@@ -39,13 +40,17 @@ func ArrToTree(arr []int) *TreeNode {
|
||||
node := queue.Remove(queue.Front()).(*TreeNode)
|
||||
i++
|
||||
if i < len(arr) {
|
||||
node.Left = NewTreeNode(arr[i])
|
||||
queue.PushBack(node.Left)
|
||||
if arr[i] != nil {
|
||||
node.Left = NewTreeNode(arr[i].(int))
|
||||
queue.PushBack(node.Left)
|
||||
}
|
||||
}
|
||||
i++
|
||||
if i < len(arr) {
|
||||
node.Right = NewTreeNode(arr[i])
|
||||
queue.PushBack(node.Right)
|
||||
if arr[i] != nil {
|
||||
node.Right = NewTreeNode(arr[i].(int))
|
||||
queue.PushBack(node.Right)
|
||||
}
|
||||
}
|
||||
}
|
||||
return root
|
||||
|
||||
@@ -10,7 +10,7 @@ import (
|
||||
)
|
||||
|
||||
func TestTreeNode(t *testing.T) {
|
||||
arr := []int{2, 3, 5, 6, 7}
|
||||
arr := []any{1, 2, 3, nil, 5, 6, nil}
|
||||
node := ArrToTree(arr)
|
||||
|
||||
// print tree
|
||||
|
||||
Reference in New Issue
Block a user