Leetcode刷题笔记题解(C++):203. 移除链表元素

思路:不同的情况出现了,就是第一个节点要是为等于val的节点,可以新建一个节点,并next指向head,这样就可以遍历新的链表来删除节点

/**
 * 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) {
        //如果为空链表则返回空链表
        if(head == nullptr) return head;
        //新建一个节点next指向head  res->next =head
        ListNode* res = new ListNode(0,head);
        ListNode* cur = res;
        while(cur->next != nullptr){
            //如果等于则跳过
            if(cur->next->val == val){
                cur->next = cur->next->next;
            }
            else{
                //如果不等于则继续遍历
                cur = cur->next;
            }
        }
        //返回新建节点的next得到答案
        return res->next;
    }
};

相关推荐

  1. leetcode203题目元素

    2024-02-22 10:24:01       32 阅读
  2. LeetCode203. 元素

    2024-02-22 10:24:01       33 阅读
  3. leetcode203. 元素

    2024-02-22 10:24:01       35 阅读
  4. Leetcode 203 元素

    2024-02-22 10:24:01       36 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-22 10:24:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-22 10:24:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-22 10:24:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-22 10:24:01       20 阅读

热门阅读

  1. hive rlike

    2024-02-22 10:24:01       26 阅读
  2. Hive 最全面试题及答案(基础篇)

    2024-02-22 10:24:01       26 阅读
  3. 网络安全专业术语中英对照指南

    2024-02-22 10:24:01       24 阅读
  4. R语言【sp】——定义控件光栅

    2024-02-22 10:24:01       21 阅读
  5. # 二进制+Html

    2024-02-22 10:24:01       30 阅读