非独立思考

    1. public static ListNode deleteDuplicates(ListNode head) {
    2. if (head == null) {
    3. return null;
    4. }
    5. // 题目已经说明了按升序排列
    6. // 第一个元素肯定不需要删除,所以不需要虚拟头节点
    7. ListNode last = head;
    8. // 针对需要删除元素的,需要判断node.next.val的情况,需要判断node.next!=null
    9. while (last.next != null) {
    10. if (last.val == last.next.val) {
    11. // 删除
    12. last.next = last.next.next;
    13. } else {
    14. // 正常往后遍历
    15. last = last.next;
    16. }
    17. }
    18. return head;
    19. }