56-Remove Linked List Elements
2024-09-06 17:51:12
- Remove Linked List Elements My Submissions QuestionEditorial Solution
Total Accepted: 61924 Total Submissions: 215788 Difficulty: Easy
Remove all elements from a linked list of integers that have value val.
Example
Given: 1 –> 2 –> 6 –> 3 –> 4 –> 5 –> 6, val = 6
Return: 1 –> 2 –> 3 –> 4 –> 5
思路:先找到第一个不等于指定值的首节点,作为返回值
另外在过程中过滤掉等于val值的节点并使前面一个不为val值得节点指向下一个不为val值的节点
时间复杂度:O(n)
空间复杂度:O(1)
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode* removeElements(ListNode* head, int val) {
if(head==NULL)return NULL;
while(head!=NULL&&head->val==val)head=head->next;//找到第一个头部
ListNode *p=head,*prep=head;
while(p!=NULL){
prep=p;
p=p->next;
while(p!=NULL&&p->val==val)p=p->next;//直到找到下一个不为val的节点并指向它
prep->next = p;
}
return head;
}
};
最新文章
- Word文字处理器发展演变
- JAVA第三周课后作业
- TMethod
- Java学习——Number类、Character类
- Swift 玩转 3D Touch 之 Peek &; Pop
- android 蓝牙设备监听广播
- Razor视图引擎 语法
- 【转】Maven实战(三)---插件动态打包
- Codeforces Round#297 div2
- Linux教学辅助训练(第二阶段)
- hdu_5950_Recursive sequence(矩阵快速幂)
- MD5加密算法(信息摘要算法)、Base64算法
- C语言设计模式-封装-继承-多态
- hbase-多租户
- week4--系统调用的工作机制
- git gui提交无法获知你的身份
- python urllib和urllib3包使用(转载于)
- Orleans核心功能
- cJson 创建 读取
- 【java】System.out重定向到文件,并重定向会console上