当前位置:网站首页>【LeetCode】203.移除链表元素
【LeetCode】203.移除链表元素
2022-07-31 10:03:00 【酥酥~】
题目
给你一个链表的头节点 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, 104] 内
1 <= Node.val <= 50
0 <= val <= 50
题解
循环遍历
/** * 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* result = new ListNode(0,head);
ListNode* temp = result;
while(temp->next != NULL)
{
if(temp->next->val == val)
temp->next = temp->next->next;
else
temp = temp->next;
}
return result->next;
}
};
使用递归
/** * 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 nullptr;
head->next = removeElements(head->next,val);
return head->val != val ? head : head->next;
}
};
边栏推荐
猜你喜欢
Open Kylin openKylin automation developer platform officially released
(C language) program environment and preprocessing
Canvas particles change various shapes js special effects
ARC在编译和运行做了什么?
Web系统常见安全漏洞介绍及解决方案-CSRF攻击
通过栗子来学习MySQL高级知识点(学习,复习,面试都可)
Implement a thread pool
js空气质量aqi雷达图分析
Build finished with errors/Executable Not Found
loadrunner-controller-目标场景Schedule配置
随机推荐
NowCoderTOP28-34二叉树——持续更新ing
Build finished with errors/Executable Not Found
项目管理工具之燃尽图:动态考核团队工作能力
模块八
浅谈Attention与Self-Attention,一起感受注意力之美
cocoaPods管理之后工程结构变化
浓眉大眼的谷歌 Chrome 也叛变了,教你一招快速清除其自带广告
WEB核心【记录网站登录人数,记录用户名案例】Cookie技术实现
来n遍剑指--06. 从尾到头打印链表
js空气质量aqi雷达图分析
实现线程池
qt pass custom structure parameters in different threads
Echart饼图添加轮播效果
Rich text editor Tinymce
ReentrantLock
尚医通【预约挂号系统】总结
loadrunner脚本--添加检查点
学习笔记——七周成为数据分析师《第二周:业务》:业务分析框架
loadrunner脚本--添加事务
PyQt5快速开发与实战 9.4 Matplotlib在PyQt中的应用