代码拉取完成,页面将自动刷新
//
// Created by 高森森 on 2022/1/29.
//
#ifndef LEETCODE_SOLUTION13_H
#define LEETCODE_SOLUTION13_H
#include <iostream>
#include <vector>
#include <queue>
#include<unordered_map>
using namespace std;
class Solution13 {
public:
unordered_map<int ,vector<int>>map;
vector<bool>visited;
bool findWhetherExistsPath(int n, vector<vector<int>>& graph, int start, int target) {
//创建邻接表
unordered_map<int ,vector<int>>map(n);
for(vector<int> &vec:graph){
map[vec[0]].push_back(vec[1]);
}
vector<bool>visited(n, false);
if(start==target)
return true;
queue<int> que;
que.push(start);
visited[start]= true;
while(!que.empty()){
int node=que.front();
que.pop();
if(node==target)
return true;
visited[node]=true;
for(int neigh:map[node]){
if(!visited[neigh])
que.push(neigh);
}
}
return false;
}
bool dfs(int start,int target){
if(visited[start]== true)
return false;
if(start==target)
return true;
for(int neigh:map[start])
{
if(dfs(neigh,target))
return true;
}
return false;
}
bool findWhetherExistsPath2(int n, vector<vector<int>>& graph, int start, int target) {
if(start==target)
return true;
for(vector<int> &vec:graph){
map[vec[0]].push_back(vec[1]);
}
visited.assign(n, false);
return dfs(start,target);
}
};
#endif //LEETCODE_SOLUTION13_H
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。