1. 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;
}
};

最新文章

  1. Word文字处理器发展演变
  2. JAVA第三周课后作业
  3. TMethod
  4. Java学习——Number类、Character类
  5. Swift 玩转 3D Touch 之 Peek & Pop
  6. android 蓝牙设备监听广播
  7. Razor视图引擎 语法
  8. 【转】Maven实战(三)---插件动态打包
  9. Codeforces Round#297 div2
  10. Linux教学辅助训练(第二阶段)
  11. hdu_5950_Recursive sequence(矩阵快速幂)
  12. MD5加密算法(信息摘要算法)、Base64算法
  13. C语言设计模式-封装-继承-多态
  14. hbase-多租户
  15. week4--系统调用的工作机制
  16. git gui提交无法获知你的身份
  17. python urllib和urllib3包使用(转载于)
  18. Orleans核心功能
  19. cJson 创建 读取
  20. 【java】System.out重定向到文件,并重定向会console上

热门文章

  1. [no_code][Alpha]发布声明报告
  2. logstash的安装和简单使用
  3. js模板引擎laytpl的使用
  4. NOIP模拟86(多校19)
  5. Manacher算法 求 最长回文子串
  6. hdu 5055 Bob and math problem (很简单贪心)
  7. 聊了聊宏内核和微内核,并吹了一波 Linux
  8. Linux 守护进程原理及实例(Redis、Nginx)
  9. prometheus(4)之alertmanager报警插件
  10. SpringBoot2.x异步任务EnableAsync