摘要:鏈表與遞歸第題題目刪除鏈表中等于給定值的所有節點。示例輸入輸出不使用虛擬頭節點鏈表不為空,并且頭節點就是要刪除的元素所有元素都是要刪除的元素,并且在上面已經刪完現在的鏈表頭節點不是要刪除的元素刪除不刪除使用虛擬頭節點虛擬頭節點遞歸
鏈表與遞歸 LeetCode第203題
題目: 刪除鏈表中等于給定值 val 的所有節點。 示例: 輸入: 1->2->6->3->4->5->6, val = 6 輸出: 1->2->3->4->5
1.不使用虛擬頭節點
public class Solution { public ListNode removeElements(ListNode head, int val) { // 鏈表不為空,并且頭節點就是要刪除的元素 while (head != null && head.val == val) { ListNode delNode = head; head = head.next; delNode.next = null; } if (head == null) { // 所有元素都是要刪除的元素,并且在上面已經刪完 return head; } else { // 現在的鏈表頭節點不是要刪除的元素 ListNode prev = head; while (prev.next != null) { if (prev.next.val == val) { // 刪除 ListNode delNode = prev.next; prev.next = delNode.next; delNode.next = null; } else { // 不刪除 prev = prev.next; } } return head; } } }
2.使用虛擬頭節點
public class Solution2 { public ListNode removeElements(ListNode head, int val) { // 虛擬頭節點 ListNode dummyHead = new ListNode(0); dummyHead.next = head; ListNode prev = dummyHead; while (prev.next != null) { if (prev.next.val == val) { ListNode delNode = prev.next; prev.next = delNode.next; delNode.next = null; } else { prev = prev.next; } } return dummyHead.next; } }
3.遞歸
public class Solution3 { public ListNode removeElements(ListNode head, int val) { if (head == null) { return head; } head.next = removeElements(head.next, val); return head.val == val ? head.next : head; } }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/77060.html
摘要:鏈表與遞歸已經從底層完整實現了一個單鏈表這樣的數據結構,并且也依托鏈表這樣的數據結構實現了棧和隊列,在實現隊列的時候對鏈表進行了一些改進。計算這個區間內的所有數字之和。 showImg(https://segmentfault.com/img/remote/1460000018597053?w=1832&h=9943); 前言 【從蛋殼到滿天飛】JAVA 數據結構解析和算法實現,全部文...
摘要:鏈表與遞歸已經從底層完整實現了一個單鏈表這樣的數據結構,并且也依托鏈表這樣的數據結構實現了棧和隊列,在實現隊列的時候對鏈表進行了一些改進。計算這個區間內的所有數字之和。 showImg(https://segmentfault.com/img/remote/1460000018597053?w=1832&h=9943); 前言 【從蛋殼到滿天飛】JAVA 數據結構解析和算法實現,全部文...
摘要:雙向鏈表雙向鏈表作為在日常開發中最常用的數據結構之一,應用十分廣泛,在諸多著名開源項目中如的結構,的中均是核心實現。 雙向鏈表 雙向鏈表作為在日常開發中最常用的數據結構之一,應用十分廣泛,在諸多著名開源項目中如redis的list結構, groupcache的lru中均是核心實現。在設計此類數據集合的時候,外面看上去鏈表似乎與數組相似,但鏈表是一個非連續性內存的存儲方案,提供了高效的節...
閱讀 3222·2021-09-09 11:39
閱讀 1228·2021-09-09 09:33
閱讀 1127·2019-08-30 15:43
閱讀 546·2019-08-29 14:08
閱讀 1733·2019-08-26 13:49
閱讀 2376·2019-08-26 10:09
閱讀 1545·2019-08-23 17:13
閱讀 2283·2019-08-23 12:57