All Ancestors of a Node in a Directed Acyclic Graph LeetCode solution in C++

1
class Solution {
2
public:
3
void dfs(vector<vector<int>> &graph, int i, int j, vector<vector<int>> &ans, vector<bool> &vis) {
4
vis[j] = true;
5
for (auto &x : graph[j]) {
6
if (!vis[x]) {
7
ans[x].push_back(i);
8
dfs(graph, i, x, ans, vis);
9
}
10
}
11
}
12
vector<vector<int>> getAncestors(int n, vector<vector<int>> &edges) {
13
vector<vector<int>> ans(n), graph(n);
14
for (auto &v : edges) {
15
graph[v[0]].push_back(v[1]);
16
}
17
for (int i = 0; i < n; i++) {
18
vector<bool> vis(n);
19
dfs(graph, i, i, ans, vis);
20
}
21
return ans;
22
}
23
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0