leetcode83 刪除排序鍊錶中的重複元素

2021-09-11 08:09:11 字數 930 閱讀 7068

描述:

給定乙個排序鍊錶,刪除所有重複的元素,使得每個元素只出現一次。

示例 1:

輸入:1->1->2輸出:1->2
示例 2:

輸入:1->1->2->3->3輸出:1->2->3
解答:

1.直接求解

通過將結點的值與它之後的結點進行比較來確定它是否為重複結點。如果它是重複的,我們更改當前結點的next指標,以便它跳過下乙個結點並直接指向下乙個結點之後的結點。

public listnode deleteduplicates(listnode head)  else 

}return head;

}

2.從左到右  用兩個節點連線起來

public listnode deleteduplicates(listnode head) 

listnode pre = new listnode(-1);

listnode mostleft = pre; // 記錄虛擬位置 最左邊的

listnode cur = head;

while (cur != null)

pre.next = cur; // 連線起來

// cur和pre分別來到它們下乙個位置

cur = cur.next;

pre = pre.next;

} return mostleft.next; //返回頭節點

}

LeetCode 83 刪除排序鍊錶中的重複元素

給定乙個排序鍊錶,刪除所有重複的元素,使得每個元素只出現一次。definition for singly linked list.struct listnode struct listnode deleteducurrent nodelicates struct listnode head 示例 1...

LeetCode 83 刪除排序鍊錶中的重複元素

題目描述 給定乙個排序鍊錶,刪除所有重複的元素,使得每個元素只出現一次。示例 輸入 1 1 2 輸出 1 2輸入 1 1 2 3 3 輸出 1 2 3解題思路 直接判斷下個節點的val是否與當前節點相同,相同則刪除,不同則將向後移。ac definition for singly linked li...

LeetCode 83 刪除排序鍊錶中的重複元素

給定乙個排序鍊錶,刪除所有重複的元素,使得每個元素只出現一次。示例 1 輸入 1 1 2輸出 1 2示例 2 輸入 1 1 2 3 3輸出 1 2 3建立dummy節點,然後cur節點等於dummy,pre節點等於head。當pre節點不為空時進入迴圈,如果pre的next為空或者pre的val不等...