BINARY LEVEL TRAVERSAL (BFS) IN C++
class Solution {
public:
    //vector<vector<int>>v;
    void solve(TreeNode* root, vector<vector<int>>&v)
{
        vector<int>vec;
    queue<TreeNode*>q;
    if(root==NULL)
    {
        return;
    }
    else
    {
        q.push(root);
        int size=0;
        while(!q.empty())
        {
            size=q.size();
            TreeNode *temp;
            for(int i=0; i<size; i++){
            temp=q.front();
            q.pop();
            vec.push_back(temp->val);
            if(temp->left)
            {
                q.push(temp->left);
            }
            if(temp->right)
            {
                q.push(temp->right);
            }
                
            }
            v.push_back(vec);
            vec.clear();
    }
        
    }
}
    vector<vector<int>> levelOrder(TreeNode* root) {
      vector<vector<int>>v;
        solve (root,v);
        return v;
    }
};
Comments (0)