LeetCode203:移除链表元素

题目描述
给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。

在这里插入图片描述
解题思想
使用虚拟头节点

代码

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(); //设置一个虚拟头节点
		
		dummy->next = head; //将虚拟头节点指向head,这样方便后面做删除操作
		ListNode* p = dummy;
		while (p->next) {
			if (p->next->val == val) {
				ListNode* tmp = p->next;
				p->next = p->next->next;
				delete tmp;
			}
			else
				p = p->next;

		}
		head = dummy->next;
		delete dummy;
		return head;
	}
};

相关推荐

  1. LeetCode203. 元素

    2024-03-13 04:00:03       56 阅读
  2. leetcode203. 元素

    2024-03-13 04:00:03       59 阅读
  3. Leetcode 203 元素

    2024-03-13 04:00:03       62 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-13 04:00:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-13 04:00:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-13 04:00:03       87 阅读
  4. Python语言-面向对象

    2024-03-13 04:00:03       96 阅读

热门阅读

  1. 安卓 修改系统时间

    2024-03-13 04:00:03       38 阅读
  2. `PF_NETLINK` 是用于与内核通信的Socket族之一

    2024-03-13 04:00:03       41 阅读
  3. effective c++ 笔记 条款49-52

    2024-03-13 04:00:03       36 阅读
  4. 【笔记】道路不平度的功率谱密度计算时的问题

    2024-03-13 04:00:03       42 阅读
  5. MogDB/openGauss关于PL/SQL匿名块调用测试

    2024-03-13 04:00:03       38 阅读
  6. 从菜鸟到大师细看程序员的五种层次

    2024-03-13 04:00:03       40 阅读
  7. 抓包是什么?我们为什么要抓包?

    2024-03-13 04:00:03       39 阅读
  8. Vue中怎么使用router进行页面传参

    2024-03-13 04:00:03       45 阅读
  9. 用游戏面试应聘者的方法

    2024-03-13 04:00:03       45 阅读