24.8.23 LeetCode Hot100 linkedList 该题尚未完成

This commit is contained in:
Cool 2024-08-24 00:50:45 +08:00
parent 038cd12b51
commit c64cae520e
1 changed files with 70 additions and 0 deletions

View File

@ -0,0 +1,70 @@
package com.cool.hot100.linkedlist;
import org.junit.Test;
import java.util.ArrayList;
import java.util.List;
/**
* @Author Cool
* @Date 23:30 2024/8/23
* DayNumber 2
* Hard 3
**/
public class Num25 {
/**
* Date 2024/8/23
* DayNumber 2
* Hard 3
*
* @param head
* @param k
* @return
*/
public ListNode reverseKGroup(ListNode head, int k) {
ListNode hair=new ListNode(0);
hair.next=head;
ListNode pre = hair;
while (head != null) {
for (int i = 0; i < k; i++) {
head = head.next;
if (head == null) {
return hair.next;
}
}
ListNode next=head.next;
ListNode[] reverse = reverse(head,next);
pre=nodeHead;
nodeHead.next = next;
node = next;
}
return newHead;
}
private ListNode[] reverse(ListNode head,ListNode next) {
ListNode node = head;
ListNode pre = null;
while (node != null) {
ListNode net = node.next;
node.next = pre;
pre = node;
node = net;
}
return new ListNode[]{next,head};
}
@Test
public void test() {
ListNode node1 = new ListNode(7);
ListNode node2 = new ListNode(6, node1);
ListNode node3 = new ListNode(5, node2);
ListNode node4 = new ListNode(4, node3);
ListNode node5 = new ListNode(3, node4);
ListNode node6 = new ListNode(2, node5);
ListNode node7 = new ListNode(1, node6);
reverseKGroup(node7, 2);
}
}