Leetcode 25. K 个一组翻转链表
本文最后更新于386 天前,其中的信息可能已经过时,如有错误请发送邮件到2446865563@qq.com

1.题目基本信息

1.1.题目描述

给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。

k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。

你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。

1.2.题目地址

https://leetcode.cn/problems/reverse-nodes-in-k-group/description/

2.解题方法

2.1.解题思路

链表反转

2.2.解题步骤

第一步,构建维护变量。dumbNode为哑结点;tail维护新链表的尾部结点;node1和node2维护分段链表的首尾结点(node2可能为None)

第二步,移动结点node1和node2,分段进行翻转,并将翻转后的链表链接到tail上

第三步,返回新链表

3.解题代码

python代码

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

# 链表反转函数。
def reverseList(head:ListNode, tail:ListNode) -> (ListNode, ListNode):
    pre = None
    node = head
    while node != tail:
        temp = node.next
        node.next = pre
        pre = node
        node = temp
    return pre, head

class Solution:
    def reverseKGroup(self, head: Optional[ListNode], k: int) -> Optional[ListNode]:
        # 第一步,构建维护变量。dumbNode为哑结点;tail维护新链表的尾部结点;node1和node2维护分段链表的首尾结点(node2可能为None)
        dumbNode = ListNode()
        tail = dumbNode
        node1, node2 = head, head
        # 第二步,移动结点node1和node2,分段进行翻转,并将翻转后的链表链接到tail上
        while node2 is not None:
            for i in range(k):
                node2 = node2.next
                if node2 is None and i != k - 1:
                    tail.next = node1
                    return dumbNode.next
            newHead, newTail = reverseList(node1, node2)
            tail.next = newHead
            tail = newTail
            node1 = node2
        # 第三步,返回新链表
        return dumbNode.next

4.执行结果

觉得有帮助可以投喂下博主哦~感谢!

作者:geek007

转载请注明文章地址及作者哦~
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇