专栏首页Petrichor的专栏leetcode: 92. Reverse Linked List II

leetcode: 92. Reverse Linked List II

Problem

# Reverse a linked list from position m to n. Do it in-place and in one-pass.
#
# For example:
# Given 1->2->3->4->5->NULL, m = 2 and n = 4,
#
# return 1->4->3->2->5->NULL.
#
# Note:
# Given m, n satisfy the following condition:
# 1 ≤ m ≤ n ≤ length of list.

AC

class ListNode():
    def __init__(self, x):
        self.val = x
        self.next = None

class Solution():
    def reverseBetween(self, head, m, n):
        if head == None or head.next == None:
            return head
        dummy = ListNode(0); dummy.next = head
        p = dummy
        for i in range(m - 1):
            p = p.next
        q = p.next
        for i in range(n - m):
            tmp = p.next
            p.next = q.next
            q.next = q.next.next
            p.next.next = tmp
        return dummy.next


if __name__ == "__main__":
    head, head.next, head.next.next, head.next.next.next, head.next.next.next.next \
        = ListNode(1), ListNode(2), ListNode(3), ListNode(4), ListNode(5)
    print(Solution().reverseBetween(head, 2, 4))

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • leetcode: 86. Partition List

    JNingWei
  • leetcode: 19. Remove Nth Node From End of List

    JNingWei
  • leetcode: 82. Remove Duplicates from Sorted List II

    JNingWei
  • 每日算法题:Day 27(机器学习)

    请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符...

    算法工程师之路
  • leetcode: 19. Remove Nth Node From End of List

    JNingWei
  • 【链表问题】打卡6:三种方法带你优雅判断回文链表

    以专题的形式更新刷题贴,欢迎跟我一起学习刷题,相信我,你的坚持,绝对会有意想不到的收获。每道题会提供简单的解答,如果你有更优雅的做法,欢迎提供指点,谢谢。

    帅地
  • 173. 链表插入排序插入排序

    用插入排序对链表排序 样例 Given 1->3->2->0->null, return 0->1->2->3->null

    和蔼的zhxing
  • leetcode: 23. Merge k Sorted Lists

    具体原因见我的另一篇博客:python3 调用heapq库 时遭遇 “TypeError: unorderable types”

    JNingWei
  • 给自定义控件(Web Control)添加事件的几种方法。前两种方法可以不实现IPostBackEventHandler

        写自定义控件已经好久了,也有几个用得时间比较长的,但是对于“事件”一直是比较模糊,没有很详细的理解。     最近升级分页控件,由于原来使用的是VB...

    用户1174620
  • 数据结构 | 每日一练(108)

    ——老子

    闫小林

扫码关注云+社区

领取腾讯云代金券