Verbose Java Solution, Binary tree level order traversal
Typical way to do binary tree level order traversal. Only additional step is to remember the first element of each level.\n\npublic class Solution {\n    public
Typical way to do binary tree level order traversal. Only additional step is to remember the ```first``` element of each level.\n```\npublic class Solution {\n    public int findLeftMostNode(TreeNode root) {\n        if (root == null) return 0;\n        \n        int result = 0;\n        Queue<TreeNode> queue = new LinkedList<>();\n        queue.add(root);\n        \n        while (!queue.isEmpty()) {\n            int size = queue.size();\n            for (int i = 0; i < size; i++) {\n                TreeNode node = queue.poll();\n                if (i == 0) result = node.val;\n                if (node.left != null) queue.add(node.left);\n                if (node.right != null) queue.add(node.right);\n            }\n        }\n        \n        return result;\n    }\n}\n```
[]