题解 | #从单向链表中删除指定值的节点#
从单向链表中删除指定值的节点
https://www.nowcoder.com/practice/f96cd47e812842269058d483a11ced4f
按照规则将数据存入链表,然后删除对应的节点,最后输出链表。
#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")
中等(算法题解) 文章被收录于专栏
中等难度题目