题解 | #牛牛的链表删除#
牛牛的链表删除
https://www.nowcoder.com/practice/d3df844baa8a4c139e103ca1b1faae0f
#include <iostream> using namespace std; struct Node { int val; Node* next; Node(): val(0), next(nullptr) {} Node(int val): val(val), next(nullptr) {} Node(int val, Node* next): val(val), next(next) {} }; void createList(Node* dummy, int n) { int i = 0; Node* node = dummy; while (i != n) { int d; cin >> d; node->next = new Node(d); node = node->next; i++; } } void deleteListNode(Node* dummy, int x) { Node* node = dummy; while (node->next != nullptr) { if (node->next->val == x) { Node* temp = node->next; node->next = node->next->next; delete temp; } node = node->next; } } void printList(Node* dummy) { Node* node = dummy->next; while (node != nullptr) { cout << node->val << " "; node = node->next; } } int main() { int n, x; cin >> n >> x; Node* dummy = new Node(); createList(dummy, n); deleteListNode(dummy, x); printList(dummy); return 0; } // 64 位输出请用 printf("%lld")