LeetCode 1059. 从始点到终点的所有路径(回溯)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 1059. 从始点到终点的所有路径(回溯)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1. 題目
給定有向圖的邊 edges,以及該圖的始點(diǎn) source 和目標(biāo)終點(diǎn) destination,確定從始點(diǎn) source 出發(fā)的所有路徑是否最終結(jié)束于目標(biāo)終點(diǎn) destination,即:
從始點(diǎn) source 到目標(biāo)終點(diǎn) destination 存在至少一條路徑
如果存在從始點(diǎn) source 到?jīng)]有出邊的節(jié)點(diǎn)的路徑,則該節(jié)點(diǎn)就是路徑終點(diǎn)。
從始點(diǎn)source到目標(biāo)終點(diǎn) destination 可能路徑數(shù)是有限數(shù)字
當(dāng)從始點(diǎn) source 出發(fā)的所有路徑都可以到達(dá)目標(biāo)終點(diǎn) destination 時(shí)返回 true,否則返回 false。
?
/** @Author: Zhibo Wang* @Date: 2021-05-07 21:51:13* @LastEditTime: 2021-05-07 22:08:59*/#include<bits/stdc++.h>class Solution{public:bool leadToDestination(int n,std::vector<std::vector<int>>& edge,int start,int end){std::vector<std::vector<int>> m(m);std::vector<bool> visited(n,false);for(auto e:edge){m[e[0]].push_back(e[1]);}if(!m[end].empty()){return false;}return DFS(m,visited,start,end);}bool DFS(std::vector<std::vector<int>>& m,std::vector<bool>& visitd,int cur,int end){if(!m[cur].size()==0&&cur!=end){return false;}for(auto next:m[cur]){if(visitd[next]){return false;}visitd[next]=true;if(!DFS(m,visitd,cur,end)){return false;}visitd[next]=false;}} };?
總結(jié)
以上是生活随笔為你收集整理的LeetCode 1059. 从始点到终点的所有路径(回溯)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 零拷贝(Zero Copy)
- 下一篇: 『每周观察』:“在线抓娃娃”开启新娱乐窗