要保持输入的原始链表不倒序排列,只需要对头插法创建单链表部分进行修改即可。
将原来的头插法修改为尾插法,即每次在链表末尾添加新节点。
以下是修改后的代码:
// 尾插法创建单链表
ListNode* createList(int n) {
ListNode* head = new ListNode();
head->next = nullptr;
ListNode* tail = head;
for (int i = 0; i < n; ++i) {
int num;
cin >> num;
ListNode* newNode = new ListNode();
newNode->data = num;
newNode->next = nullptr;
tail->next = newNode; // 新节点添加到链表末尾
tail = newNode; // 更新尾节点
}
return head;
}
通过使用尾插法创建单链表,保证了输入顺序和输出顺序一致。
内容由零声教学AI助手提供,问题来源于学员提问