题目描述:
Remove all elements from a linked list of integers that have value val.
Example:
Input: 1->2->6->3->4->5->6, val = 6
Output: 1->2->3->4->5
class Solution {
public:
ListNode* removeElements(ListNode* head, int val) {
ListNode* result=new ListNode(0);
result->next=head;
ListNode* pre_head=result;
while(head!=NULL)
{
if(head->val==val)
{
pre_head->next=head->next;
head=pre_head->next;
}
else
{
pre_head=head;
head=head->next;
}
}
return result->next;
}
};
本文介绍了一种从链表中移除特定值元素的算法实现。通过使用虚拟头节点简化边界条件处理,并通过双指针技巧高效地跳过目标元素,最终返回处理后的链表。
171

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



