题目来源
题目描述
题目解析
分析例子1:
可以知道这是一颗树,需要对树进行删除操作。最后根目录不需要输出。
int main() {
std::vector<std::vector<int>> counts {
{8, 6}, {10, 8}, {6, 0}, {20, 8}, {2, 6}, {9, 6}, {10, 11}
};
std::map<int, std::set<int>> map;
for(auto iter : counts){
map[iter[1]].insert(iter[0]);
}
int delete_value = 8;
std::vector<int> ans;
std::queue<int> queue;
queue.push(0);
while (!queue.empty()){
auto curr = queue.front(); queue.pop();
if(curr == delete_value){
continue;
}
ans.push_back(curr);
auto child = map[curr];
for(auto iter : child){
if(iter != delete_value){
queue.push(iter);
}
}
}
std::sort(ans.begin(), ans.end());
for (int i = 1; i < ans.size(); ++i) {
std::cout << ans[i] <<"\t";
}
}