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天学习打卡(RabitMQ延时队列 实现定时任务)


下一篇:0605每日一题203移除链表元素