/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next; } * } */ classSolution { public ListNode reverseKGroup(ListNode head, int k) { ListNodedummy=newListNode(0, head); ListNodep0= dummy; ListNodecur= head; intlen=0; while (cur != null) { cur = cur.next; len++; }
intm= len / k;
// 反转前k个 ListNodepre=null; ListNodenxt=null; for (inti=0; i < m; i++){ pre = null; cur = p0.next; for (intj=0; j < k; j++) { nxt = cur.next; cur.next = pre; pre = cur; cur = nxt; }