Java easy solution | BFS
\nclass Solution {\n    public int findBottomLeftValue(TreeNode root) {\n        Queue<TreeNode> q=new ArrayDeque<>();\n        q.add(root);\n        int res=0;
```\nclass Solution {\n    public int findBottomLeftValue(TreeNode root) {\n        Queue<TreeNode> q=new ArrayDeque<>();\n        q.add(root);\n        int res=0;\n        while(q.size()>0)\n        {\n            int s=q.size();\n            for(int i=0;i<s;i++)\n            {\n                TreeNode node=q.remove();\n                if(i==0)\n                {\n                   res=node.val ;\n                }\n                if(node.left!=null)\n                {\n                    q.add(node.left);\n                }\n                if(node.right!=null)\n                {\n                    q.add(node.right);\n                }\n            }\n        }\n        return res;\n        \n    }\n}\n```
['Breadth-First Search', 'Java']