结果应该是分别是:
广度优先: a ->b ->c ->d ->f ->e ->g
先序遍历: a ->b ->d ->e ->f ->g ->c
中序遍历: e ->d ->b ->g ->f ->a ->c
后序遍历: e ->d ->g ->f ->b ->c ->a
结果存在result里面,如果不存可以少一层变量
这个地方强烈建议读一下下面的第一个链接,我遵照着那篇文章实现的,只是用Go改写了而已。
首先定义一个数据结构,用来存储一些Node的信息。
这里是可以运行的,但是总会抛出一个数组越界的错误,我看了半天也没看出来哪里有问题,Mac版的devel我这边又有bug,没用起来。至少思路对了,我后面再看一下哪里的问题。(感谢 @RiXu 指正)
for index,val := range a {if val == '好' {
fmt.println(index,x)
}
}
对string做range得到的val是int32类型,直接用单引号比较就行