leetcode 判断二分图

图是用邻接表存的,一开始没看清楚理解错了。

用BFS染色,若相邻的两个点颜色相同则返回false,否则返回true。

注意可能有多个不连通的图,因此需要多遍BFS染色,直到全部染色或提前返回false。

 

class Solution {
    int mapp[1000][1000],maxp;
    int color[1000];
    
public: 
    int isBipartite(vector >& graph) {
        maxp=graph.size();
        cout<Q;
            Q.push(now);
            color[now]=1;
            while(!Q.empty()){
                int temp=Q.front();Q.pop();
                for(int i=0;i

 

你可能感兴趣的:(leetcode)