剑指 Offer II 110. 所有路径

dfs水题

class Solution {
public:
    vector<vector<int>> ret;
    vector<int> rute;

    int cnt = 0;
    void dfs(vector<vector<int>>& graph, int u, int t)
    {
        if(u == t)
        {
            int len1 = rute.size();

            ret.push_back(rute);
            return;
        }

        for(int i = 0; i < graph[u].size(); i++)
        {
            int v = graph[u][i];
            rute.push_back(v);
            dfs(graph, v, t);
            rute.pop_back();
        }
    }
    
    vector<vector<int>> allPathsSourceTarget(vector<vector<int>>& graph) {

        int t = -1;
        for(int i = 0; i < graph.size(); i++)
        {
            for(int j = 0; j < graph[i].size(); j++)
                t = max(t, graph[i][j]);
        }
        rute.push_back(0);
        dfs(graph, 0, t);
        return ret;



    }
};

 

posted @ 2022-01-12 11:42  WTSRUVF  阅读(20)  评论(0编辑  收藏  举报