p46 删除一个排序链表中的重复元素(leetcode 83)
一:解题思路
Time:O(n),Space:O(1)
二:完整代码示例 (C++版和Java版)
C++:
class Solution { public: ListNode* deleteDuplicates(ListNode* head) { if((head==NULL)||(head->next==NULL)) return head; ListNode* p = head; while ((p != NULL)&&(p->next!=NULL)) { if (p->val == (p->next)->val) { ListNode* toDel = p->next; p->next = toDel->next; } else { p = p->next; } } return head; } };
Java:
class Solution { public ListNode deleteDuplicates(ListNode head) { if(head==null||head.next==null) return head; ListNode p=head; while ((p!=null)&&(p.next!=null)) { if(p.val==p.next.val) { ListNode toDel=p.next; p.next=toDel.next; } else { p=p.next; } } return head; } }

浙公网安备 33010602011771号