国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

移除鏈表倒數(shù)第n個(gè)元素

yhaolpz / 1204人閱讀

摘要:移除鏈表倒數(shù)第個(gè)元素給定一個(gè)鏈表,移除倒數(shù)第個(gè)元素,返回鏈表頭部。

移除鏈表倒數(shù)第n個(gè)元素 Remove Nth Node From End of List

給定一個(gè)鏈表,移除倒數(shù)第n個(gè)元素,返回鏈表頭部。

Given a linked list, remove the nth node from the end of list and return its head.

Note:
Given n will always be valid.
Try to do this in one pass.

example 1

Given linked list: 1->2->3->4->5, and n = 2.

After removing the second node from the end, the linked list becomes 1->2->3->5.

example 2

Given linked list: 1, and n = 1.
output: None

example 3

Given linked list: 1->2->3, and n = 3.
output: 2->3
思路

兩個(gè)指針,fastslowfast指向slow之后n個(gè)位置,同步移動(dòng)fastslow,當(dāng)fast.next為null的時(shí)候,slow.next即為要移除的那個(gè)元素,只需要slow.next = slow.next.next即可,時(shí)間復(fù)雜度O(n)

注意考慮n為鏈表長度的情況,即移除首個(gè)元素

代碼
# Definition for singly-linked list.
class ListNode(object):
    def __init__(self, x):
        self.val = x
        self.next = None

class Solution(object):
    def removeNthFromEnd(self, head, n):
        """
        :type head: ListNode
        :type n: int
        :rtype: ListNode
        """
        a = b = head
        for i in range(n):
            b = b.next
        if not b:
            return head.next
        while b.next:
            a = a.next
            b = b.next
        a.next = a.next.next
        return head

本題以及其它leetcode題目代碼github地址: github地址

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/38664.html

相關(guān)文章

  • LeetCode 203:移除鏈表元素 Remove LinkedList Elements

    摘要:刪除鏈表中等于給定值的所有節(jié)點(diǎn)。鏈表的刪除操作是直接將刪除節(jié)點(diǎn)的前一個(gè)節(jié)點(diǎn)指向刪除節(jié)點(diǎn)的后一個(gè)節(jié)點(diǎn)即可。這就無需考慮頭節(jié)點(diǎn)是否為空是否為待刪除節(jié)點(diǎn)。 刪除鏈表中等于給定值 val 的所有節(jié)點(diǎn)。 Remove all elements from a linked list of integers that have value val. 示例: 輸入: 1->2->6->3->4->5-...

    hzc 評(píng)論0 收藏0
  • LeetCode 203:移除鏈表元素 Remove LinkedList Elements

    摘要:刪除鏈表中等于給定值的所有節(jié)點(diǎn)。鏈表的刪除操作是直接將刪除節(jié)點(diǎn)的前一個(gè)節(jié)點(diǎn)指向刪除節(jié)點(diǎn)的后一個(gè)節(jié)點(diǎn)即可。這就無需考慮頭節(jié)點(diǎn)是否為空是否為待刪除節(jié)點(diǎn)。 刪除鏈表中等于給定值 val 的所有節(jié)點(diǎn)。 Remove all elements from a linked list of integers that have value val. 示例: 輸入: 1->2->6->3->4->5-...

    makeFoxPlay 評(píng)論0 收藏0
  • LeetCode【203】:移除鏈表元素

    摘要:題目描述刪除鏈表中等于給定值的所有節(jié)點(diǎn)。示例輸入輸出非遞歸解法思路遍歷鏈表,找出每個(gè)待刪除節(jié)點(diǎn)的前一個(gè)節(jié)點(diǎn)。特殊情況第一個(gè)節(jié)點(diǎn)就是待刪除節(jié)點(diǎn)時(shí),要單獨(dú)操作。注意點(diǎn)當(dāng)輸入為時(shí),按上面的思路刪除第一個(gè)節(jié)點(diǎn),剩下的鏈表的頭節(jié)點(diǎn)又是待刪除節(jié)點(diǎn)。 題目描述 刪除鏈表中等于給定值 val 的所有節(jié)點(diǎn)。 示例 輸入: 1->2->6->3->4->5->6, val = 6輸出: 1->2->3->...

    wwolf 評(píng)論0 收藏0
  • 準(zhǔn)備下次編程面試前你應(yīng)該知道的數(shù)據(jù)結(jié)構(gòu)

    摘要:以下內(nèi)容編譯自他的這篇準(zhǔn)備下次編程面試前你應(yīng)該知道的數(shù)據(jù)結(jié)構(gòu)瑞典計(jì)算機(jī)科學(xué)家在年寫了一本書,叫作算法數(shù)據(jù)結(jié)構(gòu)程序。 國外 IT 教育學(xué)院 Educative.io 創(chuàng)始人 Fahim ul Haq 寫過一篇過萬贊的文章《The top data structures you should know for your next coding interview》,總結(jié)了程序員面試中需要掌...

    desdik 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<