class Solution {private:vector<vector<int> > ans;vector<int> path;void DFS(int node, vector<vector<int>> &G) {if (node == G.size() - 1) {path.push_back(node);ans.push_back(path);path.pop_back();return;}path.push_back(node);for (auto i : G[node]) {DFS(i, G);}path.pop_back();}public:vector<vector<int>> allPathsSourceTarget(vector<vector<int>> &graph) {DFS(0, graph);return ans;}};
