文章作者:Tyan
博客:noahsnail.com ?|? CSDN ?|? 簡(jiǎn)書
1. Description
All Paths From Source to Target
2. Solution
class Solution {
public:
vector<vector<int>> allPathsSourceTarget(vector<vector<int>>& graph) {
vector<vector<int>> paths;
vector<int> path;
tranversePath(graph, paths, path, 0, graph.size() - 1);
return paths;
}
void tranversePath(const vector<vector<int>>& graph, vector<vector<int>>& paths, vector<int> path, int current, int target) {
path.push_back(current);
int length = graph.size();
if(current == target) {
paths.push_back(path);
return;
}
for(int i = 0; i < graph[current].size(); i++) {
tranversePath(graph, paths, path, graph[current][i], target);
}
}
};