categories: DataStructure


  1. /**
  2. * public class ListNode {
  3. * int val;
  4. * ListNode next;
  5. * ListNode(int x) { val = x; }
  6. * }
  7. */

83. 删除排序链表中的重复元素

问题描述

image.png

问题分析

代码实现

  1. class Solution {
  2. public ListNode deleteDuplicates(ListNode head) {
  3. // TODO: 快慢指针
  4. if (head == null) return head;
  5. ListNode slow = head;
  6. ListNode fast = head.next;
  7. while (fast != null){
  8. if (slow.val != fast.val) {
  9. slow.next = fast;
  10. slow = fast;
  11. }
  12. fast = fast.next;
  13. }
  14. slow.next = null;
  15. return head;
  16. }
  17. }
  18. // TODO: 单指针下一步
  19. //class Solution {
  20. // public ListNode deleteDuplicates(ListNode head) {
  21. // ListNode cur = head;
  22. // while(cur != null && cur.next != null) {
  23. // if(cur.val == cur.next.val) {
  24. // cur.next = cur.next.next;
  25. // } else {
  26. // cur = cur.next;
  27. // }
  28. // }
  29. // return head;
  30. // }
  31. //}