链表一:移除链表元素

题目地址: https://leetcode-cn.com/problems/remove-linked-list-elements/

题目描述: 删除链表中等于给定值 val 的所有节点

参考代码:

class Solution {
public:
    ListNode* removeElements(ListNode* head, int val) {
        while (head && head->val == val) {
            ListNode *temp = head;
            head = head ->next;
            delete  temp;
        }
        ListNode *current = head;
        while (current && current->next) {
            if (current->next->val == val) { // 是 next
                ListNode *temp = current->next;
                current->next = current->next->next;
                delete temp;
            } else {
                current = current->next;
            }
        }
        return head;
    }
};


注意点: 删除元素,记得释放!

参考链接: https://github.com/youngyangyang04/leetcode-master/blob/master/problems/0203.%E7%A7%BB%E9%99%A4%E9%93%BE%E8%A1%A8%E5%85%83%E7%B4%A0.md

你可能感兴趣的:(链表一:移除链表元素)