LeetCode 面試題 04.01. 節點間通路 (圖論基礎之DFS判斷兩點的連通性 )

節點間通路

class Solution {
public:
    vector<int> G[(int)1e5+1];
    int vis[(int)1e5+1] = {0};
    int target;
    bool findWhetherExistsPath(int n, vector<vector<int>>& graph, int 
start, int target) {
        this->target = target;
        for(auto& e:graph){
            G[e[0]].push_back(e[1]);
        }
        return dfs(start);
    }
    bool dfs(int x){
        if(x==target){
            return true;
        }
        vis[x] = 1;
        for(int y:G[x]){
            if(!vis[y]){
                if(dfs(y)){
                    return true;
                }
            }
        }
        return false;
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章