513. Find Bottom Left Tree Value
Given a binary tree, find the leftmost value in the last row of the tree.
Example 1:
Input:
/ \
13
Output:
1
Example 2:
Input:
1 / \ 23 // \ 456 / 7
Output:
7
Note: You may assume the tree (i.e., the given root node) is not NULL.
難度:medium
題目:
給定二叉樹,找出其最左邊的結點。
注意:
你可以認為樹一定不為NULL
思路:
BFS, 層次遍歷(先入右子樹,再入左子樹)。
Runtime: 4 ms, faster than 71.59% of Java online submissions for Find Bottom Left Tree Value.
/** * Definition for a binary tree node. * public class TreeNode { *int val; *TreeNode left; *TreeNode right; *TreeNode(int x) { val = x; } * } */ class Solution { public int findBottomLeftValue(TreeNode root) { Queue<TreeNode> queue = new LinkedList<>(); queue.add(root); TreeNode node = root; while (!queue.isEmpty()) { node = queue.poll(); if (node.right != null) { queue.add(node.right); } if (node.left != null) { queue.add(node.left); } } return node.val; } }