/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
public class Solution {
/**
* @param head a ListNode
* @param val an integer
* @return a ListNode
*/
public ListNode removeElements(ListNode head, int val){
while(head != null && head.val == val){
head = head.next;
}
if(head == null){
return null;
}
ListNode node = head;
while(node.next != null){
if(node.next.val == val){
if(node.next.next != null){
//ListNode temp = node.next;
node.next = node.next.next;
continue;// 这里要continue,不然当5->6->6 的时候,最后一个6无法删除
//temp = null;
}
else{
node.next = null;
break;//
}
}
node = node.next;
}
return head;// Write your code here
}
}
3.20
一个删除单链表元素的问题,也是晕头转向的弄了好久。
也是服气。
犹记得当年双链表也是玩儿的很溜的吖。
越来越感受到,写代码和一个模糊的想法完全是两件事