bipartite
class Solution {
public:
	bool isBipartite(int V, vector<int>adj[]){
	    // Code here
	    int color[V]={-1};
	    for(int i=0;i<V;i++)
	    color[i]=-1;    
	    queue<int> q;	    
    for(int r=0;r<V;r++)
	 {
	   if(color[r]==-1)
	    {
	      q.push(r);
	      color[r]=0;
	      while(q.size()>0)
	       {
	        int i=q.front();
	        q.pop();
	        int c=color[i];
	        for(int j=0;j<adj[i].size();j++)
	        {
	            if(color[adj[i][j]]==c)
	               {
	                   return false;
	               }
	            if(color[adj[i][j]]==-1)
	             {
	                 color[adj[i][j]]=1-color[i];
	                 q.push(adj[i][j]);
	             }
	        }
	       } 
	    
         }
     }	    
	return true;      	            
	}

};
Comments (0)