本文主要是介绍[LeetCode]199.二叉树的右视图(python),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.代码
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:def rightSideView(self, root: Optional[TreeNode]) -> List[int]:result1: List[int] = []i = 0queue = deque()result : List[List[int]] = []if root==None:return resultqueue.append(root)while(queue):length = len(queue)result.append([])for j in range (length):item = queue.popleft()if item.left:queue.append(item.left)if item.right:queue.append(item.right)result[i].append(item.val)i=i+1for item in result:result1.append(item[len(item)-1])return result1
2.思路
首先用result记录层次遍历的结果(见[LeetCode]102.二叉树的层序遍历(python)-CSDN博客),然后用result1记录每一层的最后一个数字。
这篇关于[LeetCode]199.二叉树的右视图(python)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!