easy cpp solution
\nclass Solution {\npublic:\n    \n    /*\n        Approach:\n        We travel in inorder and update our leftmost node using\n        the height variable.\n   
```\nclass Solution {\npublic:\n    \n    /*\n        Approach:\n        We travel in inorder and update our leftmost node using\n        the height variable.\n    */\n    \n    int height;\n    int leftMost;\n    \n    void findLeftMost(TreeNode *root, int currHeight)\n    {\n        if(!root) return;\n        \n        findLeftMost(root->left, currHeight + 1);\n        \n        if(!root->left && !root->right && currHeight > height)\n        {\n            height = currHeight;\n            leftMost = root->val;\n        }\n        \n        findLeftMost(root->right, currHeight + 1);\n    }\n    \n    int findBottomLeftValue(TreeNode* root) \n    {\n        height = 0;\n        leftMost = root->val;\n        \n        findLeftMost(root, 0);\n        \n        return leftMost;\n    }\n};\n```
[]