19. 删除链表的倒数第N个节点

19. 删除链表的倒数第N个节点

给定一个链表,删除链表的倒数第个节点,并且返回链表的头结点。

示例:

给定一个链表:1->2->3->4->5, 和n= 2.当删除了倒数第二个节点后,链表变为1->2->3->5.

说明:

给定的 n保证是有效的。

进阶:

你能尝试使用一趟扫描实现吗?

# Definition for singly-linked list.

# class ListNode:

#    def __init__(self, x):

#        self.val = x

#        self.next = None

class Solution:

    def removeNthFromEnd(self, head, n):

        """

        :type head: ListNode

        :type n: int

        :rtype: ListNode

        """

        m = self.digui(head,n)

        if isinstance(m,int):

            head = head.next

        else:

            head = m

        return head

    gg = False

    def digui(self,head, n):

        if head.next:

            self.gg=True

            m = self.digui(head.next, n)

            if m == (n-1):

                head.next = head.next.next

                return head

            elif isinstance(m,int) and  m < (n-1):

                return m+1

            else:

                return head

        else:

            if  0 == (n-1) and self.gg==False:

                return

            else:

                return 0


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: 说明:给定的 n 保证是有效的。 删除...
    赵智雄阅读 1,477评论 0 0
  • //leetcode中还有花样链表题,这里几个例子,冰山一角 求单链表中结点的个数----时间复杂度O(n)这是最...
    暗黑破坏球嘿哈阅读 5,446评论 0 6
  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 6,182评论 0 2
  • 01赞美行为而非个人 举例来说,如果对方是厨师,千万不要说:你真是了不起的厨师。他心里知道有更多厨师比他还优秀。但...
    小谈石泉阅读 2,915评论 0 0
  • 年龄感慨时间流逝的较快。2018年多么久远的年历,记的首次到千禧年时候,感觉从1999跳转到2000,很清新感觉,...
    Time煮雨阅读 3,134评论 0 0

友情链接更多精彩内容