本文摘自网络,作者,侵删。
package main
import "fmt"
type Node struct {
left *Node
right *Node
value string
}
var res [][]string
func main() {
var path []string
e := Node{nil, nil, "5"}
d := Node{nil, nil, "4"}
c := Node{left: nil, right: &e, value: "3"}
b := Node{nil, nil, "6"}
a := Node{left: &c, right: &d, value: "2"}
head := Node{left: &a, right: &b, value: "1"}
BinaryTreePath(&head, path)
fmt.Println(res)
}
func BinaryTreePath(root *Node, path []string) {
path = append(path, root.value)
if root.left == nil && root.right == nil {
res = append(res, path)
}
if root.left != nil {
BinaryTreePath(root.left, path)
}
if root.right != nil {
BinaryTreePath(root.right, path)
}
}
本文来自:简书
感谢作者:看活一分钟
查看原文:Golang实现二叉树路径遍历
相关阅读 >>
Golang 协程+channel+select 实现最简单的斐波那契数列
[Go] Golang 中main包下入口文件调用其它Go文件函数出现undefined
专访Go语言布道师dave cheney:Go语言这十年,只能用“成功”一词总结
更多相关阅读请进入《Go》频道 >>

Go语言101
一个与时俱进的Go编程知识库。