Remove Duplicates from Sorted List

slowrunner and fastrunner trick


 1 /**
 2  * Definition for singly-linked list.
 3  * public class ListNode {
 4  *     int val;
 5  *     ListNode next;
 6  *     ListNode(int x) {
 7  *         val = x;
 8  *         next = null;
 9  *     }
10  * }
11  */
12 public class Solution {
13     public ListNode deleteDuplicates(ListNode head) {
14         // IMPORTANT: Please reset any member data you declared, as
15         // the same Solution instance will be reused for each test case.
16         ListNode fakehead = new ListNode(0);
17         fakehead.next = head;
18         ListNode runner = fakehead;
19         while(runner.next != null){
20             if(runner.val == runner.next.val && runner != fakehead)
21                 runner.next = runner.next.next;
22             else
23                 runner = runner.next;
24         }
25         return fakehead.next;
26     }
27 }



原文地址:https://www.cnblogs.com/jasonC/p/3409708.html