删除链表中全部值为k的节点
2016-04-07 11:01
330 查看
1. 问题描写叙述
给定一个单链表,删除当中值为k的全部节点。比如:1→2→6→3→4→5→6,删除当中值为6的节点,返回:1→2→3→4→5。2. 方法与思路
这是一个简单的链表操作题。删除是要考虑的节点所在的位置(头部,中间和尾部),分开处理一下好了。主要步骤例如以下描写叙述:I. while head−>val≠target
head = head->next
II. 判断head是否为空
if head=NULL return NULL;
III. 遍历剩余链表,删除中间和尾部值为k的节点。
c++代码例如以下:
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ ListNode* removeElements(ListNode* head, int val) { if(head == NULL) return NULL; while(head && head->val == val) { ListNode *pre = head; head = head->next; delete pre; } if(head == NULL) return head; ListNode *p = head; while(p && p->next) { ListNode *q = p->next; if(q->val == val) { p->next = q->next; delete q; } else p = p->next; } return head; }
相关文章推荐
- curl 详解
- 多重继承时的虚函数表
- 数据库(Mysql)之count(column),count(1),count(*)用法
- gitignore忽略规则
- CSS 的命名和书写
- Python list方法总结
- 指向对象的指针变量
- Python re模块
- 大型网站架构系列:分布式消息队列
- LeetCode Valid Parentheses
- 魅族干货!如何从视觉设计师的角度做竞品分析?
- http协议简述
- Shiro学习(9)JSP标签
- Mac 下AppRTCDemo xcode 工程搭建和webrtc源码下载
- Caffe深度学习框架上手教程
- POJ3278-Catch That Cow
- 献给和我合作的过得前端童靴们:jquery源码分析--核心函数(创建jquery空对象)
- 上传图片配置文件长度和宽度大小的说明
- Test Bench基础知识笔记
- 【1-1】Python的编码注释# -*- coding:utf-8 -*-