1. 程式人生 > >java 刪除linkedlist連結串列中重複元素

java 刪除linkedlist連結串列中重複元素

題目:

Given a sorted linked list, delete all duplicates such that each element appear only once.

For example,
Given 1->1->2, return 1->2.
Given 1->1->2->3->3, return 1->2->3. 

演算法如下:

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
public class Solution { public ListNode deleteDuplicates(ListNode head) { if(head==null){ return null; } ListNode current = head; ListNode pre = head; while(current.next!=null){ current = current.next; int value = pre.val; while
(current.val == value){ if(current.next==null){ pre.next=null; break; } pre.next = current.next; current = current.next; if(current==null){ break; } } pre = pre.next; } return
head; } }

相關推薦

java 刪除linkedlist連結串列重複元素

題目: Given a sorted linked list, delete all duplicates such that each element appear only once. Fo

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

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

左程雲著演算法與資料結構題目最優解筆記-刪除無序連結串列重複元素

刪除無序連結串列中重複的元素 方法1:使用雜湊表,時間複雜度O(n),空間複雜度O(n) 方法2:類似選擇排序的過程,時間複雜度O(n^2),空間複雜度O(1); 方法1 過程如下: 1. 生成一個雜湊表,因為頭節點不用刪除,所以先將頭節點存入

在一個排序的連結串列,存在重複的結點,請刪除連結串列重複的結點,重複的結點不保留,返回連結串列頭指標。 例如,連結串列1->2->3->3->4->4->5 處理後為 1->2->5

題目描述 在一個排序的連結串列中,存在重複的結點,請刪除該連結串列中重複的結點,重複的結點不保留,返回連結串列頭指標。 例如,連結串列1->2->3->3->4->4->5 處理後為 1->2->5 /* 思路:由於是排序連結串列,只需判斷

劍指offer——在一個排序的連結串列,存在重複的結點,請刪除連結串列重複的結點, # 重複的結點不保留,返回連結串列頭指標。

# 在一個排序的連結串列中,存在重複的結點,請刪除該連結串列中重複的結點, # 重複的結點不保留,返回連結串列頭指標。 例如,連結串列1->2->3->3->4->4->5 處理後為 1->2->5 # -*- coding:u

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

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

83. Remove Duplicates from Sorted List 原題連結 Given a sorted linked list, delete all duplicates such

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

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

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

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

Java實現-刪除排序連結串列重複元素2

/** * Definition for ListNode * public class ListNode { * int val; * ListNode next;

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

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

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

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

1. 題目 2. 解答 新建一個連結串列,並新增一個哨兵結點,從前向後開始遍歷連結串列。 如果下一個結點的值和當前結點的值相等,則迴圈向後遍歷直到找到一個和當前結點值不相等的結點; 反之,如果下一個結點的值和當前結點的值不相等,此值即為原始連結串列中

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

題目來源: https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list/description/ 題目描述: 由於該題比較簡單,就直接寫程式碼了。程式碼如下:  class Solution

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

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