/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode* removeElements(ListNode* head, int val) {
ListNode* cur=head;
if(head==NULL)
{
return head;
}
while(head&&head->val==val)//这里要判断头结点不为空否则可能会导致访问空指针
{
head=head->next;
}
while(cur->next!=NULL)
{
if(cur->next->val==val)
{
//删除cur->next
ListNode* delNode=cur->next;
cur->next=delNode->next;
delete delNode;
}
else
{
cur=cur->next;
}
}
return head;
}
};
LeetCode:203.移除链表元素
猜你喜欢
转载自blog.csdn.net/dosdiosas_/article/details/106223466
今日推荐
周排行