二叉树广度优先遍历

package program

import (
    "container/list"
    "testing"
)

func TestTreeWidthSearch(t *testing.T) {
    //构造一个随机value的树
    root := &TreeNode{Value: 1}
    root.Left = &TreeNode{Value: 2, Left: &TreeNode{Value: 4}, Right: &TreeNode{Value: 5, Left: &TreeNode{Value: 8}}}
    root.Right = &TreeNode{Value: 3, Left: &TreeNode{Value: 6}, Right: &TreeNode{Value: 7}}
    queue = append(queue, root)
    for idx < len(queue) && queue[idx] != nil {
        node := queue[idx]
        println(node.Value)
        idx++
        if node.Left != nil {
            queue = append(queue, node.Left)
        }
        if node.Right != nil {
            queue = append(queue, node.Right)
        }
    }
}

var queue []*TreeNode
var idx = 0
var queue2 = list.New()

results matching ""

    No results matching ""