C++|| BFS ||  EASY || WITH EXPLANATION
The intution is simply to do bfs traversal of binary tree and at each level calculate the sum of nodes. If the curr level sum is greater than previous occuring 
The intution is simply to do bfs traversal of binary tree and at each level calculate the sum of nodes. If the curr level sum is greater than previous occuring levels we have the current level as answer. If the currsum and previous max sum are same we do nothing beacuse we have to return minimal level which was previously stored level only.\n\n**Please Upvote if this was helpful!**\n```\nclass Solution {\npublic:\n    int maxLevelSum(TreeNode* root) {\n        int res;\n        int ans=-1e9;\n        int level=0;\n        queue<TreeNode*>q;\n        q.push(root);\n        while(!q.empty()){\n            int siz= q.size();\n            level++;\n            long currsum=0;\n            for(int i=0; i<siz; i++){\n                TreeNode* temp= q.front();\n                q.pop();\n                currsum+= temp->val;\n                if(temp->left!=NULL){\n                    q.push(temp->left);\n                }\n                if(temp->right!=NULL){\n                    q.push(temp->right);\n                }   \n            }\n             if(currsum>ans){\n                    res=level;\n                    ans= currsum;\n                    \n            }\n        }\n        return res;\n    }\n};
['Breadth-First Search', 'Queue', 'C']