在C++中删除链表中主索引处的节点,可以通过以下步骤实现:
struct ListNode {
int val;
ListNode* next;
ListNode(int x) : val(x), next(nullptr) {}
};
ListNode* deleteNode(ListNode* head, int val) {
ListNode* dummy = new ListNode(0);
dummy->next = head;
ListNode* curr = dummy;
while (curr->next != nullptr && curr->next->val != val) {
curr = curr->next;
}
if (curr->next != nullptr) {
ListNode* temp = curr->next;
curr->next = curr->next->next;
delete temp;
}
ListNode* newHead = dummy->next;
delete dummy;
return newHead;
}
这样,我们就可以在C++中删除链表中主索引处的节点。这个方法的时间复杂度是O(n),其中n是链表的长度。
关于链表的更多信息,可以参考腾讯云的产品介绍链接地址:链表介绍。
领取专属 10元无门槛券
手把手带您无忧上云