删除单链表中的元素
2016-12-27 00:00
330 查看
原题
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的结点。解题思路
在链表头添加一个结点,对链表进遍历和删除操作。代码实现
链表结点类public class ListNode { int val; ListNode next; ListNode(int x) { val = x; } }
1
2
3
4
5
1
2
3
4
5
算法实现类
public class Solution { public ListNode removeElements(ListNode head, int val) { ListNode root = new ListNode(1); root.next = head; // 调于记录要处理的元素的前驱结点 ListNode prev = root; // prev.next表示要处理的结点 while (prev.next != null) { // 要处理的结点是要删除的结点 if (prev.next.val == val) { // 对结点进行删除操作 prev.next = prev.next.next; } // 当前处理的节点不需要删除,prev移动到下一个结点 else { prev = prev.next; } } // 返回新的根结点 return root.next; } }
相关文章推荐
- jpa与hibernate
- 前端插件html2canvas的截图功能
- Python远程获取MD5校验码并在web上显示
- java 多线程,及获取线程执行结果
- 关于调用shell脚本的一点心得
- rabbitmq安装遇到的坑
- 物流类App开发影响报价因素|明智科技
- java日期格式大小写汇总
- 安装Rabbit MQ
- 如何合理估算线程池大小?
- Linux系统基础结构
- Linux不常用命令...^_~
- CSS3.0新增属性
- gittle使用小集
- SpringBoot之CommandLineRunner接口和ApplicationRunner接口区别
- CURL实现HTTP的GET POST方法,以及上传文件
- curl命令
- Mac OS X上PostgreSQL的安装和配置
- 彻底关闭win7最近访问位置
- linux下增加swap分区