[LeetCode] 25. K 个一组翻转链表

Posted 怕什么

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[LeetCode] 25. K 个一组翻转链表相关的知识,希望对你有一定的参考价值。

方法一:;来自大佬

public ListNode reverseKGroup(ListNode head, int k) {
    ListNode dummy = new ListNode(0);
    dummy.next = head;

    ListNode pre = dummy;
    ListNode end = dummy;

    while (end.next != null) {
        for (int i = 0; i < k && end != null; i++) end = end.next;
        if (end == null) break;
        ListNode start = pre.next;
        ListNode next = end.next;
        end.next = null;
        pre.next = reverse(start);
        start.next = next;
        pre = start;

        end = pre;
    }
    return dummy.next;
}

private ListNode reverse(ListNode head) {
    ListNode pre = null;
    ListNode curr = head;
    while (curr != null) {
        ListNode next = curr.next;
        curr.next = pre;
        pre = curr;
        curr = next;
    }
    return pre;
}

作者:reals
链接:https://leetcode-cn.com/problems/reverse-nodes-in-k-group/solution/tu-jie-kge-yi-zu-fan-zhuan-lian-biao-by-user7208t/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

前几天都在gy,在外面都没时间写拉,补回来

以上是关于[LeetCode] 25. K 个一组翻转链表的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode25. K 个一组翻转链表

LeetCode-25.k个一组翻转链表

算法leetcode|25. K 个一组翻转链表(rust重拳出击)

算法leetcode|25. K 个一组翻转链表(rust重拳出击)

LeetCode 25 K个一组翻转链表

[leetcode] 25. k个一组翻转链表