91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

c++如何刪除鏈表中重復節點

發布時間:2022-03-17 16:01:57 來源:億速云 閱讀:471 作者:iii 欄目:大數據

本篇內容主要講解“c++如何刪除鏈表中重復節點”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“c++如何刪除鏈表中重復節點”吧!

算法:

核心點在于如何找到重復節點,有序鏈表的話,只要下一個節點與當前節點數值一樣就是重復節點,直接將當前節點指向下一個節點的下一個節點即可。

題目1:刪除排序鏈表中的重復元素

代碼實現:

/** * Definition for singly-linked list. * type ListNode struct { *     Val int *     Next *ListNode * } */func deleteDuplicates(head *ListNode) *ListNode {    curr := head    for curr != nil && curr.Next != nil  {                if curr.Val == curr.Next.Val { // 刪除重復節點,node            tmp := curr.Next            curr.Next = tmp.Next        } else { // 不是重復節點的話,移動節點            curr = curr.Next        }        }    return head}

題目2: 刪除排序鏈表中的重復元素

代碼實現

// 算法:與題目1的不同之處在于,本題目是刪除所有重復的節點,// 也就是說不單單要找到重復節點的位置,// 還需要將第一個重復節點的前一個節點記錄下來,這里叫做pre// 然后通過pre.Next去指向重復節點的后面哪一個不重復的節點,來完成刪除。// 涉及到前序節點pre,就需要考慮哨兵節點。/** * Definition for singly-linked list. * type ListNode struct { *     Val int *     Next *ListNode * } */func deleteDuplicates(head *ListNode) *ListNode {    if head == nil || head.Next == nil {        return head    }    n := new(ListNode) // 設置鉤子節點,避免頭節點都被刪除不好操作    n.Next = head    pre := n    for pre != nil { // pre是當前節點的前一個節點        if pre.Next == nil {            break        }
       curr := pre.Next        next := curr.Next        for next != nil { // 比較重復的節點            if next.Val != curr.Val {                break            }            next = next.Next        }
       if curr.Next == next {            pre = pre.Next        } else { // 重復的,刪除重復節點            pre.Next = next        }    }    return n.Next}

到此,相信大家對“c++如何刪除鏈表中重復節點”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

呼图壁县| 中牟县| 柳河县| 个旧市| 即墨市| 龙陵县| 黎平县| 喜德县| 资中县| 修武县| 沂源县| 澳门| 望谟县| 肥东县| 普陀区| 威信县| 亳州市| 平利县| 霞浦县| 平罗县| 屯留县| 遂平县| 灌阳县| 永仁县| 八宿县| 韩城市| 班玛县| 永宁县| 弥渡县| 松滋市| 威海市| 任丘市| 阿克陶县| 沐川县| 梅河口市| 来宾市| 分宜县| 曲周县| 泸水县| 闵行区| 永宁县|