203-Remove Linked List Elements
【题目】
删除一个整数链表里值为val的所有元素
举例:
假设有: 1-->2-->6-->3-->4-->5-->6 , val=6
返回有: 1-->2-->3-->4-->5
【分析】
1. 链表删除问题
2. 把思路理清,多设几个指针。
【算法实现】
/** * 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) { ListNode phead = new ListNode(-1); phead.next = head; ListNode pre = phead; ListNode p = head; while(p!=null) { if(p.val == val) { pre.next = p.next; p = p.next; } else { pre = p; p = p.next; } } return phead.next; } }