Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- public:
- //int visited[15];
- vector<vector<int>> res;
- int final_node;
- void dfs(int v, vector<int> temp, vector<vector<int>>& graph,int visited[15]) {
- // cout<<"---dfs: "<<v<<endl;
- visited[v] = 1;
- temp.push_back(v);
- if(v==final_node){
- res.push_back(temp);
- }
- int sz=graph[v].size();
- for(int i=0;i<sz;i++) {
- if (visited[graph[v][i]] == 0){
- // cout<<v<<" is calling "<<graph[v][i]<<" calling "<<endl;;
- dfs(graph[v][i],temp,graph,visited);
- }
- }
- visited[v]=0;
- }
- vector<vector<int>> allPathsSourceTarget(vector<vector<int>>& graph) {
- final_node = graph.size()-1;
- int visited[15];
- for(int i=0;i<15;i++){
- visited[i]=0;
- }
- vector<int> l;
- // l.push_back(0);
- dfs(0,l,graph,visited);
- return res;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement