您好,登錄后才能下訂單哦!
這篇文章主要介紹leetcode如何刪除排序鏈表中的重復元素,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list/
給定一個排序鏈表,刪除所有重復的元素,使得每個元素只出現一次。
示例 1:
輸入: 1->1->2輸出: 1->2
示例 2:
輸入: 1->1->2->3->3輸出: 1->2->3
標簽:鏈表
指定cur指針指向頭部head
當cur和cur.next的存在為循環結束條件,當二者有一個不存在時說明鏈表沒有去重復的必要了
當cur.val和cur.next.val相等時說明需要去重,則將cur的下一個指針指向下一個的下一個,這樣就能達到去重復的效果
如果不相等則cur移動到下一個位置繼續循環
時間復雜度:O(n)
Java版本
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public ListNode deleteDuplicates(ListNode head) { ListNode cur = head; while(cur != null && cur.next != null) { if(cur.val == cur.next.val) { cur.next = cur.next.next; } else { cur = cur.next; } } return head; }}
JavaScript版本
/** * Definition for singly-linked list. * function ListNode(val) { * this.val = val; * this.next = null; * } *//** * @param {ListNode} head * @return {ListNode} */var deleteDuplicates = function(head) { var cur = head; while(cur && cur.next) { if(cur.val == cur.next.val) { cur.next = cur.next.next; } else { cur = cur.next; } } return head;};
以上是“leetcode如何刪除排序鏈表中的重復元素”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。