LeetCode(52)-Remove Linked List Elements
2016-04-13 21:13
225 查看
题目:
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
思路:
题意:有序列表里面去掉给定的元素遍历发现相同的,就去掉,prev.next != null,发现了prev.next = prev.next.next
考虑头部满足条件的情况,那就一直删除下去
-
代码:
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ public class Solution { public ListNode removeElements(ListNode head, int val) { if(head == null){ return null; } while(head.val == val){ head = head.next; if(head == null){ return null; } } ListNode prev = head; while(prev.next != null){ while(prev.next.val == val){ prev.next = prev.next.next; if(prev.next == null){ return head; } } prev = prev.next; } return head; } }
相关文章推荐
- KMP算法
- 模式识别---绪论
- css3 监听webkitAnimationEnd运动结束 后执行什么
- c++中的对象复制
- Qt 消息基础相关_03
- webstrom10.04主题安装及下载
- dfs 深度优先搜索
- Program2_1010
- 关于OPencv里仿射变化和透射变换的理解
- 你不知道的jQuery
- 一个数据库异常的扩展函数帮助类
- C++虚析构函数的作用
- Java中的包装类
- 目前M院M师的教学乱象
- Android AsyncHttpClient 的简单用法
- Ehcache(09)——缓存Web页面
- 团队计划Backlog
- c,c++语言中 i++ 与 ++i
- 面试题81:有序数组中绝对值最小的元素
- poj1523 求割点割边