您当前的位置: 首页 >  Python

Better Bench

暂无认证

  • 2浏览

    0关注

    695博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Leetcode刷题Python】92.反转链表II

Better Bench 发布时间:2022-05-11 11:04:42 ,浏览量:2

1 题目

给你单链表的头指针 head 和两个整数 left 和 right ,其中 left ListNode: dummy = ListNode(-1) dummy.next = head prev = dummy for _ in range(left-1): prev = prev.next curr = prev.next for _ in range(right-left): next_node = curr.next curr = next_node.next next_node.next = prev.next prev.next = next_node return dummy ''' # 方法二:迭代法 def reverseBetween(self, head: ListNode, left: int, right: int) -> ListNode: def reverseList(head: ListNode): pre = None cur = head while cur: next = cur.next cur.next = pre pre = cur cur = next dummy_node = ListNode(-1) dummy_node.next = head prev = dummy_node for _ in range(left-1): prev = prev.next right_node = prev for _ in range(right-left+1): right_node = right_node.next # 保存节点 left_node = prev.next curr = right_node.next # 切断链表 prev.next = None right_node.next = None reverseList(left_node) # 恢复连接 # 注意,此处右node变成了左node,左node变成了右node。 prev.next = right_node left_node.next = curr return dummy_node.next

关注
打赏
1665674626
查看更多评论
立即登录/注册

微信扫码登录

0.0476s