LeetCode:785. 判断二分图

class Solution {

private:

bool ok=true;

vector<bool>color;

vector<bool>visited;

void traverse(vector<vector<int>>& graph,int v){

if(!ok){

return ;

}

visited[v]=true;

for(int w:graph[v]){

if(!visited[w]){

color[w]=!color[v];

traverse(graph,w);

}else{

if(color[w]==color[v]){

ok=false;

}

}

}

}

public:

bool isBipartite(vector<vector<int>>& graph) {

int n = graph.size();

color = vector<bool>(n);

visited=vector<bool>(n);

for(int v=0;v<n;v++){

if(!visited[v]){

traverse(graph,v);

}

}

return ok;

}

};

相关推荐
qq_433554541 分钟前
C++ 最大子段和(动态规划)
开发语言·c++·动态规划
lijiatu100862 分钟前
[C++] lock_guard、unique_lock与条件变量wait()函数
开发语言·c++
2509_940880223 分钟前
CC++链接数据库(MySQL)超级详细指南
c语言·数据库·c++
Kuo-Teng3 分钟前
Mastering High-Concurrency Data Processing: A Deep Dive into BufferTrigger
java·数据结构
budingxiaomoli7 分钟前
算法--位运算
算法
熊猫_豆豆11 分钟前
基于A*算法的雷雨绕飞路径MATLAB实现
算法·matlab·航天·a星算法
_F_y16 分钟前
二分:山脉数组的峰顶索引、寻找峰值、寻找旋转排序数组中的最小值、点名
c++·算法
Elias不吃糖19 分钟前
克隆图(LeetCode 133)——用数组做映射的 DFS 解法
c++·算法·leetcode·深度优先
不知所云,20 分钟前
1. 开篇简介
c++·vulkan
欧阳x天24 分钟前
类和对象(三)
c++