import java.util.*;

/*
 * public class ListNode {
 *   int val;
 *   ListNode next = null;
 * }
 */

public class Solution {
    /**
     *
     * @param head ListNode类
     * @return ListNode类
     */
    public ListNode deleteDuplicates (ListNode head) {
        if(head==null||head.next==null){
            return head;
        }
      //上一个有效节点
        ListNode lastNode = head;
      //遍历到的当前节点
        ListNode currentNode = head;
        while ((currentNode = currentNode.next) != null) {
          //如果遍历到的节点值不一样, 那么就与上一个有效节点连接
            if (currentNode.val != lastNode.val) {
                lastNode.next = currentNode;
                lastNode = currentNode;
            }
        }
      //最后一个有效节点肯是没有next的
        lastNode.next = null;
        return head;
    }
}