zoukankan      html  css  js  c++  java
  • LeeCode 513. 找树左下角的值

    513. 找树左下角的值

    Difficulty: 中等

    给定一个二叉树,在树的最后一行找到最左边的值。

    示例 1:

    输入:
    
        2
       / 
      1   3
    
    输出:
    1
    

    示例 2:

    输入:
    
            1
           / 
          2   3
         /   / 
        4   5   6
           /
          7
    
    输出:
    7
    

    注意: 您可以假设树(即给定的根节点)不为 NULL

    Solution

    开始的时候把这道题想得太难了,层序遍历的方法没有用对,该题是层序遍历的变种,一层一层遍历下来,返回最先没有子节点的节点的val,即为树左下角的值。

    # Definition for a binary tree node.
    # class TreeNode:
    #     def __init__(self, x):
    #         self.val = x
    #         self.left = None
    #         self.right = None
    ​
    class Solution:
        def findBottomLeftValue(self, root: TreeNode) -> int:
            queue = [root]
            while queue:
                root = queue.pop(0)
                if root.right:
                    queue.append(root.right)
                if root.left:
                    queue.append(root.left)
            return root.val
    
  • 相关阅读:
    Java学习十一天
    Java学习第十天
    Java学习第九天
    Java学习第八天
    Java学习第七天
    Java学习第六天
    Java学习第五天
    Java学习第四天
    Java第三天
    京峰教育-笔记
  • 原文地址:https://www.cnblogs.com/swordspoet/p/14096697.html
Copyright © 2011-2022 走看看