节点间通路
OJ 地址:节点间通路
【邻接表+ dfs】
class Solution {
public:
bool findWhetherExistsPath(int n, vector<vector<int>>& graph, int start, int target) {
vector<vector<int> > neighbor(n);
// 构建邻接表
for(auto it : graph)
{
neighbor[it[0]].push_back(it[1]);
}
vector<int> visited(n);
return dfs(neighbor, visited, start, target);
}
bool dfs(vector<vector<int>> &neighbor,vector<int> &visited, int start, int target)
{
if(start == target)
return true;
visited[start] = 1;
for(auto it : neighbor[start])
{
if(!visited[it] && dfs(neighbor, visited, it, target))
return true;
}
return false;
}
};