ChatGPT 可用网址,仅供交流学习使用,如对您有所帮助,请收藏并推荐给需要的朋友。
https://ckai.xyz
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
}