unordered_set<Node*> visited;
vector<Node*> worklist;
while (!worklist.empty()) {
auto *node = worklist.back();
worklist.pop_back();
if (!visited.insert(node).second)
continue;
unordered_set<Node*> visited;
vector<Node*> worklist;
while (!worklist.empty()) {
auto *node = worklist.back();
worklist.pop_back();
if (!visited.insert(node).second)
continue;
www.ctinsider.com/news/educati...
www.ctinsider.com/news/educati...
www.altaonline.com/culture/art/...
www.altaonline.com/culture/art/...
www.altaonline.com/dispatches/a...
www.altaonline.com/dispatches/a...
datebook.sfchronicle.com/books/americ...
datebook.sfchronicle.com/books/americ...