Leetcode第83題:刪除排序連結串列中的重複元素
阿新 • • 發佈:2019-01-10
給定一個排序連結串列,刪除所有重複的元素使得每個元素只留下一個。
案例:
給定 1->1->2
,返回 1->2
給定 1->1->2->3->3
,返回 1->2->3
解題思路:使用2個指標,一個p,一個q; q = p.next;q一直遍歷直到q=null或者q.val()!=p.val();就將p的next指向q
public ListNode deleteDuplicates(ListNode head) { if(head == null || head.next == null){ return head; } ListNode p = head; ListNode q = p.next; while(p!=null && q != null){ while(q != null && p.val == q.val){ //當p和下一個q相等時,往後移動q q = q.next; } p.next = q; p = q; if(p !=null){ q = p.next; } } return head; }