题解 | #从单向链表中删除指定值的节点#
从单向链表中删除指定值的节点
https://www.nowcoder.com/practice/f96cd47e812842269058d483a11ced4f
#include<iostream> #include<vector> #include<algorithm> using namespace std; int main() { int n, head; while (cin >> n >> head) { vector<int> array; //用数组模拟链表 array.push_back(head); for (int i = 1; i < n; i++) { int num, pos_num; cin >> num >> pos_num; //输入要插入的数和它要插入哪个数字后面 auto iter = find(array.begin(), array.end(), pos_num); //找到要插入后面你的那个位置 if (iter == array.end()) //结尾push_back array.push_back(num); else //中间insert array.insert(iter + 1, num); } int remove; cin >> remove; array.erase(find(array.begin(), array.end(), remove)); //找到要移除的数字的位置 for (int i = 0; i < array.size(); i++) //输出 cout << array[i] << " "; cout << endl; } return 0; }