什么犁网站做淘宝门头,网站设计网页设计公司,郑州高端网站建设多少钱,网站可信. - 力扣#xff08;LeetCode#xff09;
一、题目描述
二、过程模拟
1. 第一步 2. 第二步#xff1a;子链表分组 3. 第三步#xff1a;断开前后两组 4. 第四步#xff1a;翻转start到end的部分 5. 第五步#xff1a;连接翻转好的前半部分和未翻转的后半部分#xff…. - 力扣LeetCode
一、题目描述
二、过程模拟
1. 第一步 2. 第二步子链表分组 3. 第三步断开前后两组 4. 第四步翻转start到end的部分 5. 第五步连接翻转好的前半部分和未翻转的后半部分并重置pre和end 三、完整代码
public ListNode reverseKGroup(ListNode head, int k) {if(head null || head.next null) return head;ListNode dummy new ListNode(-1);dummy.next head;ListNode pre dummy;ListNode end dummy;while(end ! null){for(int i0; ik 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 start;}return dummy.next;}public ListNode reverse(ListNode head){ListNode pre null;ListNode cur head;while(cur ! null ){ListNode next cur.next;cur.next pre;pre cur;cur next;}return pre;}