【代码随想录】【链表】203. 移除链表元素

题目描述:

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

示例1:

输入:head = [1,2,6,3,4,5,6], val = 6
输出:[1,2,3,4,5]

示例 2:

输入:head = [], val = 1
输出:[]

示例 3:

输入:head = [7,7,7,7], val = 7
输出:[]

提示:

列表中的节点数目在范围 [0, 10^4] 内
1 <= Node.val <= 50
0 <= val <= 50

思考与总结:

链表节点的定义:

//单链表
struct ListNode {
    int val; // 节点上存储的元素
    ListNode *next; // 指向下一个节点的指针
    ListNode(int x): val(x), next(NULL) {} // 节点的构造函数
};

关于构造函数,C++默认生成一个构造函数,但这个构造函数不会初始化任何成员变量,举例如下:

 
 

你可能感兴趣的:(数据结构与算法,链表,leetcode,c++)