JavaはLeetCode 513を実現して木の左下の値を探します。


513.木の左下の値を探します。
二叉の木を与えて、一番左の値をツリーの最後の行に見つけます。
例1:
入力:
    2
   / \
  1   3
出力:1
例2:
入力:
    1
   / \
  2   3
 /   / \
4   5   6
   /
  7
出力:7
ツリー(すなわち与えられたルートノード)はNULLではないと仮定することができます。
/**
 * 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.offer(root);
        while(!queue.isEmpty()){
     
            root = queue.poll();
            if (root.right != null) queue.offer(root.right);
            if (root.left != null) queue.offer(root.left);
        }
        return root.val;
    }
}