203. Remove Linked List Elements
程序员文章站
2024-02-19 08:31:34
...
Remove all elements from a linked list of integers that have value val.
Example:
Input: 1->2->6->3->4->5->6, val = 6 Output: 1->2->3->4->5
解法:
坑比较多,主要是判断要严谨。
1、头部的数据得先移动,不然返回的值会不对。
2、中间判断的时候需要同时判断tmp和tmp.next
3、要把连续的所有排除之后才可以让tmp后移
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode removeElements(ListNode head, int val) {
if(head == null)return null;
while(head !=null && head.val == val){ //先判断head,这是所有链表题都需要注意的
head = head.next;
}
ListNode tmp = head;
while(tmp!=null && tmp.next !=null){ //同时判断tmp和tmp.next
if(tmp.next.val == val){
tmp.next = tmp.next.next;
}else{
tmp = tmp.next; //没有else的话,会把下一个相同的数也一起跳过
}
}
return head;
}
}
上一篇: 基于WebUploader、SpringMVC的断点续传
下一篇: jQuery获取链接参数
推荐阅读
-
leetcode 203. Remove Linked List Elements
-
LeetCode 203. Remove Linked List Elements
-
203. Remove Linked List Elements
-
203. Remove Linked List Elements
-
Leetcode 203. Remove Linked List Elements
-
203. Remove Linked List Elements
-
203. Remove Linked List Elements
-
【leetcode】203. Remove Linked List Elements
-
LeetCode(52)-Remove Linked List Elements
-
203. Remove Linked List Elements