class Solution {
public:
    vector<vector<int>> levelOrder(TreeNode* root) {
        vector<vector<int>> res;
        if(!root) return res;

        queue <TreeNode *> q;

        q.push(root);

        while(!q.empty()){
            int levelsize = q.size();

            vector<int> level;
            for(int i = 0 ;i < levelsize ; i++){
                TreeNode* node = q.front() ;
                q.pop();
                level.push_back(node->val);

                if(node->left) q.push(node->left);
                if(node->right) q.push(node->right);
            }
            res.push_back(level);
        }

        return res;   
    }
};

Time Complexity


Space Complexity

https://leetcode.com/problems/binary-tree-level-order-traversal/

https://takeuforward.org/tree-series/top-tree-interview-questions-structured-path-with-video-solutions/