JAVA Solution Explained in HINDI
https://youtu.be/kkUp8TdmEjQ\n\nFor explanation, please watch the above video and do like, share and subscribe the channel. \u2764\uFE0F Also, please do upvote 
https://youtu.be/kkUp8TdmEjQ\n\nFor explanation, please watch the above video and do like, share and subscribe the channel. \u2764\uFE0F Also, please do upvote the solution if you liked it.\n\nSubscribe link:- https://www.youtube.com/@reelcoding?sub_confirmation=1\n\nSubscribe Goal:- 200\nCurrent Subscriber:- 188\n\n# Complexity\n- Time complexity: O(n)\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity: O(n)\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```\n/**\n * Definition for a binary tree node.\n * public class TreeNode {\n *     int val;\n *     TreeNode left;\n *     TreeNode right;\n *     TreeNode() {}\n *     TreeNode(int val) { this.val = val; }\n *     TreeNode(int val, TreeNode left, TreeNode right) {\n *         this.val = val;\n *         this.left = left;\n *         this.right = right;\n *     }\n * }\n */\nclass Solution {\n    private int maxDepth;\n    private int bottomLeft;\n\n    public int findBottomLeftValue(TreeNode root) {\n        maxDepth = -1;\n        bottomLeft = 0;\n        dfs(root, 0);\n        return bottomLeft;\n    }\n\n    private void dfs(TreeNode curr, int depth) {\n        if (curr == null) {\n            return;\n        }\n        if (depth > maxDepth) { \n            maxDepth = depth;\n            bottomLeft = curr.val;\n        }\n        dfs(curr.left, depth + 1);\n        dfs(curr.right, depth + 1);\n    }\n}\n\n```
['Java']