203. 移除链表元素
Posted Mrsdwang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了203. 移除链表元素相关的知识,希望对你有一定的参考价值。
思路:
基础的链表题,建立一个dummy节点,一个cur指向当前节点用来判断是否等于val的指针,和一个pre指针用来更新删除等于val节点后的链表。
一个while循环,条件是cur不为nullptr即可。
代码:
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode() : val(0), next(nullptr) {}
* ListNode(int x) : val(x), next(nullptr) {}
* ListNode(int x, ListNode *next) : val(x), next(next) {}
* };
*/
class Solution {
public:
ListNode* removeElements(ListNode* head, int val) {
ListNode* dummy = new ListNode(0,head);
ListNode* cur = head;
ListNode* pre = dummy;
while(cur){
if(cur->val==val){
pre->next = cur->next;
}
else{
pre = pre->next;
}
cur = cur->next;
}
return dummy->next;
}
};
以上是关于203. 移除链表元素的主要内容,如果未能解决你的问题,请参考以下文章
代码随想录算法训练营第三天 | 203.移除链表元素707.设计链表 206.反转链表