NO.83 删除排序链表中的重复元素 简单
思路一:快慢指针 curr指向当前元素,next指针遍历链表。如果curr节点值等于next节点值则从链表中删除next指向的节点curr.next=next.next
,否则不相等则向前移动curr指针。
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| public ListNode deleteDuplicates(ListNode head) { if (head==null||head.next==null)return head; ListNode curr=head,next=head.next; while (next != null) { if (curr.val != next.val) { curr=curr.next; }else { curr.next=next.next; } next=next.next; } return head; }
|
时间复杂度:O(n)
本人菜鸟,有错误请告知,感激不尽!
更多题解和源码:github