当前位置: 首页 > 后端技术 > Python

力扣-0513.求树左下角的值【Python】

时间:2023-03-26 12:10:01 Python

问题LeetCode给定一棵二叉树的根,返回树最后一行最左边的值。有防盗链机制,建议保存图片直接上传(img-s9lEcua7-1611152690383)(https://assets.leetcode.com/u...]Input:root=[2,1,3]Output:1Example2:[外链图片传输失败,源站可能有防盗链机制,建议保存图片直接上传(img-50uusBeG-1611152690392)(https://assets.leetcode.com/u...]Input:root=[1,2,3,4,null,5,6,null,null,7]Output:7Constraints:树的节点数在range[1,104].-231<=Node.val<=231-1问题Lithuan给定一棵二叉树,在树的最后一行找到最左边的值。示例1:输入:2/\13输出:1例子2:输入:1/\23//\456/7输出:7注:可以假设树(即给定的根节点)不为NULL。BFS即常规BFS是先上后下,先左后右遍历。我们可以改变BFS的遍历顺序,先上后下,first先右后左,这样遍历到的最后一个节点一定是左下角节点,最后直接返回节点值即可。Python3code#Definitionforabinarytreenode.#classTreeNode:#def__init__(self,val=0,left=None,right=None):#self.val=val#self.left=left#self.right=rightclass解决方案:deffindBottomLeftValue(self,root:TreeNode)->int:importcollectionsq=collections.deque()q.append(root)whileq:node=q.popleft()#先右后左ifnode.right:q.append(node.right)ifnode.left:q.append(node.left)#最后一个节点必须是左下角的节点returnnode.valGitHublinkPython

最新推荐
猜你喜欢