24.8.23 LeetCode Hot100 linkedList 该题尚未完成
This commit is contained in:
parent
038cd12b51
commit
c64cae520e
|
@ -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);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue