/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode* removeElements(struct ListNode* head, int val) {
struct ListNode *p;
if(head == NULL)
return 0;
while(head != NULL && head->val == val)
head = head->next;
if(head == NULL)
return 0;
p = head;
while(p->next != NULL)
{
if(p->next->val == val)
p->next = p->next->next;
else
p = p->next;
}
return head;
}
本文介绍了一种从单链表中移除特定值的所有节点的算法实现。通过一次遍历,有效地删除了所有目标值节点,保持了链表的完整性和效率。
558

被折叠的 条评论
为什么被折叠?



