摘要:鏈表基本的刪除操作,最好掌握以下三種方法。
Problem
Remove all elements from a linked list of integers that have value val.
ExampleGiven: 1 --> 2 --> 6 --> 3 --> 4 --> 5 --> 6, val = 6
Return: 1 --> 2 --> 3 --> 4 --> 5
鏈表基本的刪除操作,最好掌握以下三種方法。
Solution Dummy Nodepublic class Solution { public ListNode removeElements(ListNode head, int val) { if (head == null) return null; ListNode dummy = new ListNode(0); dummy.next = head; ListNode pre = dummy, cur = head; while (cur != null) { if (cur.val == val) pre.next = cur.next; else pre = pre.next; cur = cur.next; } return dummy.next; } }Recursion
public class Solution { 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; } }Iteration
public class Solution { public ListNode removeElements(ListNode head, int val) { while (head != null && head.val == val) head = head.next; ListNode cur = head; while (cur != null && cur.next != null) { if (cur.next.val == val) cur.next = cur.next.next; else cur = cur.next; } return head; } }
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/64771.html
摘要:刪除鏈表中等于給定值的所有節(jié)點。鏈表的刪除操作是直接將刪除節(jié)點的前一個節(jié)點指向刪除節(jié)點的后一個節(jié)點即可。這就無需考慮頭節(jié)點是否為空是否為待刪除節(jié)點。 刪除鏈表中等于給定值 val 的所有節(jié)點。 Remove all elements from a linked list of integers that have value val. 示例: 輸入: 1->2->6->3->4->5-...
摘要:刪除鏈表中等于給定值的所有節(jié)點。鏈表的刪除操作是直接將刪除節(jié)點的前一個節(jié)點指向刪除節(jié)點的后一個節(jié)點即可。這就無需考慮頭節(jié)點是否為空是否為待刪除節(jié)點。 刪除鏈表中等于給定值 val 的所有節(jié)點。 Remove all elements from a linked list of integers that have value val. 示例: 輸入: 1->2->6->3->4->5-...
摘要:深度優(yōu)先搜索復雜度時間空間遞歸棧空間思路因為我們可以任意組合任意多個數(shù),看其和是否是目標數(shù),而且還要返回所有可能的組合,所以我們必須遍歷所有可能性才能求解。這題是非常基本且典型的深度優(yōu)先搜索并返回路徑的題。本質上是有限深度優(yōu)先搜索。 Combination Sum I Given a set of candidate numbers (C) and a target number (...
摘要:這樣,我們可以保證隊列里的元素是從頭到尾降序的,由于隊列里只有窗口內(nèi)的數(shù),所以他們其實就是窗口內(nèi)第一大,第二大,第三大的數(shù)。 Sliding Window Maximum Given an array nums, there is a sliding window of size k which is moving from the very left of the array to...
摘要:用變量和取模來判斷我們該取列表中的第幾個迭代器。同樣,由于每用完一個迭代器后都要移出一個,變量也要相應的更新為該迭代器下標的上一個下標。如果迭代器列表為空,說明沒有下一個了。 Zigzag Iterator Given two 1d vectors, implement an iterator to return their elements alternately. For exa...
閱讀 2698·2021-11-08 13:16
閱讀 2376·2021-10-18 13:30
閱讀 2247·2021-09-27 13:35
閱讀 2002·2019-08-30 15:55
閱讀 2451·2019-08-30 13:22
閱讀 592·2019-08-30 11:24
閱讀 2084·2019-08-29 12:33
閱讀 1820·2019-08-26 12:10