LeetCode 199 二叉树的右视图

给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。

示例 1:

输入: [1,2,3,null,5,null,4]
输出: [1,3,4]

示例 2:

输入: [1,null,3]
输出: [1,3]

示例 3:

输入: []
输出: []

提示:

  • 二叉树的节点个数的范围是 [0,100]
  • -100 <= Node.val <= 100

解题:

func rightSideView(root *TreeNode) []int {
	var a []int
	if root == nil {
		return a
	}
	var queue []*TreeNode
	queue = append(queue, root)
	a = append(a, root.Val)
	for len(queue) > 0 {
		a = append(a, queue[len(queue)-1].Val)
		l := len(queue)
		for i := 0; i < l; i++ {
			if queue[i].Left != nil {
				queue = append(queue, queue[i].Left)
			}
			if queue[i].Right != nil {
				queue = append(queue, queue[i].Right)
			}
		}
		queue = queue[l:]
	}
	return a
}

官方解答:

// 没有go代码

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注