1. 程式人生 > >LintCode刪除排序連結串列中的重複數字 II

LintCode刪除排序連結串列中的重複數字 II

public static ListNode deleteDuplicates(ListNode head) {

    if(head == null || head.next == null) {
        return head;
    } else {

        ListNode newHead = new ListNode(0);
        newHead.next = head;
        ListNode pre = newHead;
        ListNode p = head;
        ListNode next = null;

        while(p != null && p.next != null) {
            next = p.next;

            if(p.val == next.val) {

            while(next != null && p.val == next.val) {
                next = next.next;
            }

            pre.next = next;
            p = next;

            } else {

                pre = p;
                p = p.next;
            }

        }

        return newHead.next;
    }
}

相關推薦

LeetCode(Remove Duplicates from Sorted List) 兩道刪除排序連結串列重複數字

題目要求: Given a sorted linked list, delete all duplicates such that each element appear only once. For example, Given 1->1->2, ret

LintCode刪除排序連結串列重複數字 II

public static ListNode deleteDuplicates(ListNode head) { if(head == null || head.next == null) { return head; } el

lintcode,刪除排序連結串列重複數字 II

給定一個排序連結串列,刪除所有重複的元素只留下原連結串列中沒有重複的元素。 樣例 給出 1->2->3->3->4->4->5->null,返回 1->2->5->null 給出 1->1-

LintCode刪除排序連結串列重複元素(112)

資料結構—線性結構—連結串列:(刪除排序連結串列中的重複元素)一、題目:給定一個排序連結串列,刪除所有重複的元素每個元素只留下一個。樣例:給出 1->1->2->null,返回 1-&

LintCode 刪除排序連結串列重複元素

樣例 給出 1->1->2->null,返回 1->2->null 給出 1->1->2->3->3->null,返回 1->2

leetcode83:刪除排序連結串列重複元素

思想: 由於連結串列是排序的,只要判斷head和head.next的val值是否相等,若相等則head.next = head.next.next 反之head = head.next 為了返回,將head暫存dummy # Definition for singly-

刪除排序連結串列重複的結點

題目是如此的清楚,以至於不會造成誤解。現將要點羅列如下: 連結串列為空,不必多說; 如果恰恰是頭結點與頭結點的後一個重複了,這種情況是可以發生的,那頭結點就要被刪除,另選新的結點作為頭

刪除排序連結串列重複數字 II -LintCode

描述: 給定一個排序連結串列,刪除所有重複的元素只留下原連結串列中沒有重複的元素。 樣例: 給出 1->2->3->3->4->4->5->null,返回 1

lintcode練習-113. 刪除排序連結串列重複數字 II

113. 刪除排序連結串列中的重複數字 II 給定一個排序連結串列,刪除所有重複的元素只留下原連結串列中沒有重複的元素。 樣例 給出 1->2->3->3->4->4

LintCode 112.刪除排序連結串列重複元素

思路 二重迴圈遍歷每一種情況 外層迴圈控制每個節點的處理 內層迴圈是從這個節點的下一個節點開始的遍歷判斷,如果相同則刪除 /** * Definition of singly-linked-list: * class ListNode { * pub

刪除排序連結串列重複數字 II

2017.11.1 果然一遇到連結串列就剪不清理還亂。一會兒就徹底懵了。 大致思路就是先判斷有沒有重複的, 如果有重複的,就全部刪除 如果沒有重複的,就下一個。 呵呵,道理我都懂啊,我就是寫不出來程式碼啊 /** * Definition for ListNode *

[Lintcode] #112 刪除排序連結串列重複元素

給定一個排序連結串列,刪除所有重複的元素每個元素只留下一個。 樣例 給出 1->1->2->null,返回 1->2->null 給出 1->1->2->3->3->null,返回 1->2->3-

【一次過】Lintcode 112:刪除排序連結串列重複元素

給定一個排序連結串列,刪除所有重複的元素每個元素只留下一個。 樣例 給出 1->1->2->null,返回 1->2->null 給出 1->1->2-&

LeetCode 83. 刪除排序連結串列重複元素(Remove Duplicates from Sorted List)

題目描述 給定一個排序連結串列,刪除所有重複的元素,使得每個元素只出現一次。 示例1: 輸入: 1->1->2 輸出: 1->2 示例2: 輸入: 1->1->2->3->3 輸出: 1->2->3 解題思

[Leetcode] 82. 刪除排序連結串列重複元素 II java

 給定一個排序連結串列,刪除所有含有重複數字的節點,只保留原始連結串列中 沒有重複出現 的數字。 示例 1: 輸入: 1->2->3->3->4->4->5 輸出: 1->2->5 示例 

LeetCode 83 刪除排序連結串列重複元素 ---python

給定一個排序連結串列,刪除所有重複的元素,使得每個元素只出現一次。 示例 1: 輸入: 1->1->2 輸出: 1->2 示例 2: 輸入: 1->1->2->3->3 輸出: 1->2->3 # D

Leetcode---83. 刪除排序連結串列重複元素

給定一個排序連結串列,刪除所有重複的元素,使得每個元素只出現一次。 示例 1: 輸入: 1->1->2 輸出: 1->2 示例 2: 輸入: 1->1->2->3->3 輸出: 1->2->3 -----

LeetCode-刪除排序連結串列重複元素

.title { text-align: center; margin-bottom: .2em } .subtitle { text-align: center; font-size: medium; font-weight: bold; margin-top: 0 } .todo { font-famil

LeetCode 83 —— 刪除排序連結串列重複元素

1. 題目 2. 解答 從前向後遍歷連結串列,如果下一個結點的值和當前結點的值相同,則刪除下一個結點,否則繼續向後遍歷。 /** * Definition for singly-linked list. * struct ListNode { * int val; * Lis

17、刪除排序連結串列重複元素

給定一個排序連結串列,刪除所有重複的元素,使得每個元素只出現一次。 示例 1: 輸入: 1->1->2 輸出: 1->2 示例 2: 輸入: 1->1->2->3->3 輸出: 1->2->3 我的未優化的程式碼 pu