按照规则将数据存入链表,然后删除对应的节点,最后输出链表。
#include <iostream>
#include <list>
using namespace std;
int main() {
int n;
int number;
cin >> n;
cin >> number;
list<int> nums;
int number_p;
nums.push_back(number);
for (int i = 0; i < n - 1; i++) {
cin >> number;
cin >> number_p;
for (auto it = nums.begin(); it != nums.end(); it++) {
if (*it == number_p) {
nums.insert(++it, number);
break;
}
}
}
cin >> number;
for (auto it = nums.begin(); it != nums.end(); it++) {
if (*it == number) {
it = nums.erase(it);
if (nums.empty()) {
break;
}
cout << *it << ' ';
} else {
cout << *it << ' ';
}
}
return 0;
}
// 64 位输出请用 printf("%lld")



京公网安备 11010502036488号