leetcode83.Remove Duplicates from Sorted Lists

這個題要求刪除已排好序的鏈表中的重複項, 例如1->1->2->3->3刪除之後就是1->2->3。
思路是令p指向當前節點每次循環找到一個q.next.val != q.val, 然後令p.next = q.next  就可以實現刪除p.val對應的重複項了。
    public ListNode deleteDuplicates(ListNode head) {
        if (head == null || head.next == null)
            return head;
        ListNode p = head;
        while (p != null && p.next != null) {
            ListNode q = p;
            while (q.next != null && q.next.val == q.val) {
                q = q.next;
            }
            p.next = q.next;    
            p = p.next;
        }
        return head;
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章