【LeetCode-面试算法经典-Java实现】【203-Remove Linked List Elements(删除单链表中的元素)】
2015-08-26 07:21
781 查看
【203-Remove Linked List Elements(删除单链表中的元素)】
【LeetCode-面试算法经典-Java实现】【所有题目目录索引】
代码下载【https://github.com/Wang-Jun-Chao】
原题
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; } }
算法实现类
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; } }
评测结果
点击图片,鼠标不释放,拖动一段位置,释放后在新的窗口中查看完整图片。特别说明
欢迎转载,转载请注明出处【/article/1472848.html】
相关文章推荐
- 【LeetCode-面试算法经典-Java实现】【201-Bitwise AND of Numbers Range(范围数位与结果)】
- PHP 工程师面试的四个环节
- 程序员的年龄天花板
- 猎头给面试官的一些建议
- 找工作--面试2
- 记一次当面试官的经历
- 程序员的年龄天花板
- ……面试
- 黑马程序员——Java基础---集合
- 黑马程序员-Foundation2-dictionary
- sina的php的面试题
- 自动化出身程序员结合实例谈观察者模式
- 黑马程序员-Foundation1-NSString 的 compare方法
- 黑马程序员-OC-继承的多态性
- 程序员面试金典1.1:确定字符串的所有字符是否全都不同
- 黑马程序员-OC-继承
- 进职场记(二)-培训
- 剑指offer_面试题11 数值的整数次方_考察代码的完整性
- 剑指offer面试题java实现之题7:用两个栈模拟一个队列的入队和出队操作
- 黑马程序员-OC-getter & Setter方法