1 /**
2 * Definition for a binary tree node.
3 * public class TreeNode {
4 * int val;
5 * TreeNode left;
6 * TreeNode right;
7 * TreeNode(int x) { val = x; }
8 * }
9 */
10 public class Solution {
11 public int findBottomLeftValue(TreeNode root) {
12 Deque<TreeNode> row = new LinkedList<TreeNode>();
13 row.add(root);
14 int ans = 0;
15 while (row.isEmpty() != true) {
16 int size = row.size();
17 for (int i = 0; i < size; i++) {
18 TreeNode node = row.poll();
19 if (i == 0) ans = node.val;
20 if (node.left != null) row.add(node.left);
21 if (node.right != null) row.add(node.right);
22 }
23 }
24 return ans;
25 }
26 }