#include <iostream> using namespace std; struct listNode { int val; listNode* next; listNode(int v):val(v),next(nullptr){}; listNode():val(-1),next(nullptr){}; }; void insertNode(listNode* head, int first, int second){ listNode* curr = head; while(curr){ if(curr->val == second){ if(curr->next == nullptr){ curr->next = new listNode(first); } else { listNode* node = curr; curr = curr->next; node->next = new listNode(first); node = node->next; node->next = curr; } return; } curr = curr->next; } } void deleteNode(listNode* dummy, int val){ listNode* curr = dummy->next; listNode* prev = dummy; while(curr && curr->val != val){ prev = curr; curr = curr->next; } if(curr->next){ curr = curr->next; prev->next = curr; } else { prev->next = nullptr; } } int main() { int n, v, d; auto dummy = new listNode(-1); cin >> n >> v; dummy->next = new listNode(v); for(int i = 0; i < n - 1; i++){ int first, second; cin >> first >> second; insertNode(dummy->next,first, second); } cin >> d; deleteNode(dummy, d); listNode* head = dummy->next; while(head){ cout << head->val << " "; head = head->next; } return 0; } // 64 位输出请用 printf("%lld")