国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

LeetCode - #83 刪除排序鏈表中的重復元素

這篇具有很好參考價值的文章主要介紹了LeetCode - #83 刪除排序鏈表中的重復元素。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


LeetCode - #83 刪除排序鏈表中的重復元素

前言

我們社區(qū)陸續(xù)會將顧毅(Netflix 增長黑客,《iOS 面試之道》作者,ACE 職業(yè)健身教練。)的 Swift 算法題題解整理為文字版以方便大家學習與閱讀。

LeetCode 算法到目前我們已經(jīng)更新了 82 期,我們會保持更新時間和進度(周一、周三、周五早上 9:00 發(fā)布),每期的內(nèi)容不多,我們希望大家可以在上班路上閱讀,長久積累會有很大提升。

不積跬步,無以至千里;不積小流,無以成江海,Swift社區(qū) 伴你前行。如果大家有建議和意見歡迎在文末留言,我們會盡力滿足大家的需求。

難度水平:簡單

1. 描述

給定一個已排序的鏈表的頭 head , 刪除所有重復的元素,使每個元素只出現(xiàn)一次 。返回 已排序的鏈表

2. 示例

示例 1

LeetCode - #83 刪除排序鏈表中的重復元素

輸入:head = [1,1,2]
輸出:[1,2]

示例 2

LeetCode - #83 刪除排序鏈表中的重復元素

輸入:head = [1,1,2,3,3]
輸出:[1,2,3]

約束條件:

  • 鏈表中節(jié)點數(shù)目在范圍 [0, 300] 內(nèi)
  • -100 <= Node.val <= 100
  • 題目數(shù)據(jù)保證鏈表已經(jīng)按升序 排列

3. 答案

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     public var val: Int
 *     public var next: ListNode?
 *     public init(_ val: Int) {
 *         self.val = val
 *         self.next = nil
 *     }
 * }
 */
class RemoveDuplicatesFromSortedList {
    func deleteDuplicates(_ head: ListNode?) -> ListNode? {
        guard let head = head else {
            return nil
        }
    
        var curt = head
        
        while curt.next != nil {
            if curt.next!.val == curt.val {
                curt.next = curt.next!.next
            } else {
                curt = curt.next!
            }
        }
        
        return head
    }
}
  • 主要思想:迭代列表,通過將 next 替換為 next.next 跳過重復項。
  • 時間復雜度: O(n)
  • 空間復雜度: O(1)

該算法題解的倉庫:LeetCode-Swift

點擊前往 LeetCode 練習

關于我們

我們是由 Swift 愛好者共同維護,我們會分享以 Swift 實戰(zhàn)、SwiftUI、Swift 基礎為核心的技術內(nèi)容,也整理收集優(yōu)秀的學習資料。文章來源地址http://www.zghlxwxcb.cn/news/detail-499941.html

到了這里,關于LeetCode - #83 刪除排序鏈表中的重復元素的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 算法leetcode|83. 刪除排序鏈表中的重復元素(rust重拳出擊)

    算法leetcode|83. 刪除排序鏈表中的重復元素(rust重拳出擊)

    給定一個已排序的鏈表的頭 head , 刪除所有重復的元素,使每個元素只出現(xiàn)一次 。返回 已排序的鏈表 。 鏈表中節(jié)點數(shù)目在范圍 [0, 300] 內(nèi) -100 = Node.val = 100 題目數(shù)據(jù)保證鏈表已經(jīng)按升序 排列 面對這道算法題目,二當家的再次陷入了沉思。 本來要刪除重復元素,需要兩次遍

    2024年02月07日
    瀏覽(18)
  • Leetcode刷題筆記題解(C++):83. 刪除排序鏈表中的重復元素

    Leetcode刷題筆記題解(C++):83. 刪除排序鏈表中的重復元素

    思路:鏈表相關的問題建議就是畫圖去解決,雖然理解起來很容易,但就是寫代碼寫不出來有時候,依次去遍歷第二節(jié)點如果與前一個節(jié)點相等則跳過,不相等則遍歷第三個節(jié)點

    2024年02月22日
    瀏覽(32)
  • leetcode-刪除排序鏈表中的重復元素

    83. 刪除排序鏈表中的重復元素 題解: 要刪除一個已排序鏈表中的所有重復元素,從而使每個元素只出現(xiàn)一次,我們可以使用一個指針來遍歷這個鏈表,同時比較當前節(jié)點和它下一個節(jié)點的值。如果它們相等,我們就刪除下一個節(jié)點,如果不相等,我們就移動指針。 注:本題

    2024年02月02日
    瀏覽(22)
  • LeetCode.82 刪除排序鏈表中的重復元素 二

    LeetCode.82 刪除排序鏈表中的重復元素 二 題目 思路: 1,提供的是無空頭鏈表,需要加一個頭結(jié)點來統(tǒng)一操作 2,使用三個工作指針 r:記錄前一個節(jié)點,方便刪除操作 p:記錄此基準節(jié)點 q:前進節(jié)點 兩種情況: 一 如果p與q不同,則p,q,r,均前進; 二 如果p與q相同,則q前進,

    2024年01月19日
    瀏覽(25)
  • 【LeetCode刷題-鏈表】--82.刪除排序鏈表中的重復元素II

    【LeetCode刷題-鏈表】--82.刪除排序鏈表中的重復元素II

    由于鏈表是排好序的,所以只需要對其進行一次遍歷即可,比較相鄰節(jié)點對應的值

    2024年02月06日
    瀏覽(28)
  • LeetCode——82. 刪除排序鏈表中的重復元素II

    通過萬歲?。?! 題目:題目的大致意思就是,給你一個升序的鏈表,然后讓你里面的元素有重復的,所有重復的元素都進行一個刪除。 思路:這個題的簡化版是“83.刪除排序鏈表中的重復元素”??吹芥湵淼念}目可以優(yōu)先考慮一下雙指針。這里因為head也有可能跟下面的重復

    2024年01月16日
    瀏覽(21)
  • LeetCode - #82 刪除排序鏈表中的重復元素 II

    LeetCode - #82 刪除排序鏈表中的重復元素 II

    我們社區(qū)陸續(xù)會將顧毅( Netflix 增長黑客,《iOS 面試之道》作者,ACE 職業(yè)健身教練。 )的 Swift 算法題題解整理為文字版以方便大家學習與閱讀。 LeetCode 算法到目前我們已經(jīng)更新了 82 期,我們會保持更新時間和進度( 周一、周三、周五早上 9:00 發(fā)布 ),每期的內(nèi)容不多,

    2024年02月10日
    瀏覽(14)
  • ?LeetCode解法匯總82. 刪除排序鏈表中的重復元素 II

    ?LeetCode解法匯總82. 刪除排序鏈表中的重復元素 II

    https://github.com/September26/java-algorithms 給定一個已排序的鏈表的頭? head ?,? 刪除原始鏈表中所有重復數(shù)字的節(jié)點,只留下不同的數(shù)字 ?。返回? 已排序的鏈表 ?。 示例 1: 示例 2: 提示: 鏈表中節(jié)點數(shù)目在范圍? [0, 300] ?內(nèi) -100 = Node.val = 100 題目數(shù)據(jù)保證鏈表已經(jīng)按升序? 排

    2024年01月17日
    瀏覽(22)
  • leetcode做題筆記82刪除排序鏈表中的重復元素 II

    給定一個已排序的鏈表的頭? head ?,? 刪除原始鏈表中所有重復數(shù)字的節(jié)點,只留下不同的數(shù)字 ?。返回? 已排序的鏈表 ?。 本題將重復的元素全部刪除,可以考慮新建一個鏈表,若有重復元素則不放入新鏈表中,最后輸出新鏈表即可。鏈表操作需要用另一個鏈表記錄原來

    2024年02月12日
    瀏覽(37)
  • 算法leetcode|82. 刪除排序鏈表中的重復元素 II(rust重拳出擊)

    算法leetcode|82. 刪除排序鏈表中的重復元素 II(rust重拳出擊)

    給定一個已排序的鏈表的頭 head , 刪除原始鏈表中所有重復數(shù)字的節(jié)點,只留下不同的數(shù)字 。返回 已排序的鏈表 。 鏈表中節(jié)點數(shù)目在范圍 [0, 300] 內(nèi) -100 = Node.val = 100 題目數(shù)據(jù)保證鏈表已經(jīng)按升序 排列 面對這道算法題目,二當家的再次陷入了沉思。 這道題目和 83. 刪除排序

    2024年02月08日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包