leetcode算法: Find Bottom Left Tree Value
Posted 稀里糊涂林老冷
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode算法: Find Bottom Left Tree Value相关的知识,希望对你有一定的参考价值。
leetcode算法: Find Bottom Left Tree Value
Given a binary tree, find the leftmost value in the last row of the tree.
Example 1:
Input:
2
/ \
1 3
Output:
1
Example 2:
Input:
1
/ \
2 3
/ / \
4 5 6
/
7
Output:
7
Note: You may assume the tree (i.e., the given root node) is not NULL.
这道题 是 给我们一颗二叉树的根节点,让我们找到最后一层的最左边的节点。
绞尽脑汁之后,利用二维数组把每个节点和所在层次扒下来了,但是还是太麻烦。看了其他大神的思路豁然开朗!
大神的思路是:从右向左广度优先遍历!! 最后一个节点就是我们要的结果!!
献上我的代码:
1 # Definition for a binary tree node.
2 # class TreeNode(object):
3 # def __init__(self, x):
4 # self.val = x
5 # self.left = None
6 # self.right = None
7
8 class Solution(object):
9 def findBottomLeftValue(self, root):
10 """
11 :type root: TreeNode
12 :rtype: int
13 """
14 q = [root]
15 while q:
16 node = q.pop(0)
17 if node.right is not None:
18 q.append(node.right)
19 if node.left is not None:
20 q.append(node.left)
21 return node.val
以上是关于leetcode算法: Find Bottom Left Tree Value的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode: Find Bottom Left Tree Value
LeetCode - 513. Find Bottom Left Tree Value
[LeetCode] Find Bottom Left Tree Value
[leetcode] Find Bottom Left Tree Value