leetcode链接:
https://leetcode.cn/problems/binary-tree-right-side-view/desc...
解题思路:
层序遍历后取每一层的最初一个值

func rightSideView(root *TreeNode) []int {    res := [][]int{}    sideView := []int{}    if root == nil {        return sideView    }    quene := list.New()    quene.PushBack(root)    var tmpArr []int    for quene.Len() > 0 {        size := quene.Len()        for i := 0; i < size; i++ {            node := quene.Remove(quene.Front()).(*TreeNode)            if node.Left != nil {                quene.PushBack(node.Left)            }            if node.Right != nil {                quene.PushBack(node.Right)            }            tmpArr = append(tmpArr, node.Val)        }        res = append(res, tmpArr)        tmpArr = []int{}    }    for i := 0; i < len(res); i++ {        sideView = append(sideView, res[i][len(res[i]) - 1])    }    return sideView}