LeetCode0083-刪除排序連結串列中的重複元素
阿新 • • 發佈:2020-12-22
技術標籤:LeetCode連結串列leetcodejava刪除排序連結串列中的重複元素
LeetCode0083-刪除排序連結串列中的重複元素
題目
給定一個排序連結串列,刪除所有重複的元素,使得每個元素只出現一次。
示例 1:
輸入: 1->1->2
輸出: 1->2
示例 2:
輸入: 1->1->2->3->3
輸出: 1->2->3
程式碼:
/**
* 0083-刪除排序連結串列中的重複元素
* 給定一個排序連結串列,刪除所有重複的元素,使得每個元素只出現一次。
* <p>
* 示例 1:
* <p>
* 輸入: 1->1->2
* 輸出: 1->2
* <p>
* 示例 2:
* <p>
* 輸入: 1->1->2->3->3
* 輸出: 1->2->3
*/
/**
* Definition for singly-linked list.
*/
class ListNode {
int val;
ListNode next;
ListNode(int val) {
this.val = val;
}
ListNode(int val, ListNode next) {
this.val = val;
this.next = next;
}
}
class Solution {
public ListNode deleteDuplicates (ListNode head) {
// current 工作指標
ListNode current = head;
while (current != null && current.next != null) {
// 重複元素,則跳過該節點
if (current.next.val == current.val) {
current.next = current.next.next;
} else {
// 不是重複元素,則直接移動指標
current = current.next;
}
}
return head;
}
}
public class Study0083 {
public static void main(String[] args) {
ListNode result = new Solution().deleteDuplicates(new ListNode(1, new ListNode(1, new ListNode(2, null))));
while (result != null) {
System.out.print(result.val + "\t");
result = result.next;
}
}
}