25. K 个一组翻转链表

leetcodeicon-default.png?t=N7T8https://leetcode.cn/problems/reverse-nodes-in-k-group/

解题思路

递归到最后面一段,从最后面开始翻转,每次返回翻转后的头节点。

/**
 * 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; }
 * }
 */
class Solution {
    public ListNode reverseKGroup(ListNode head, int k) {
        ListNode now=null;
        now=head;
        int cnt=0;
        while(now!=null && cnt<k-1){//如果不到k,直接返回
            now=now.next;
            cnt+=1;
        }
        if(now==null){
            return head;
        }
        ListNode pre=reverseKGroup(now.next,k),next=now.next;//从最后面开始翻转
        while(cnt>=0){
            ListNode temp=head.next;
            head.next=pre;
            pre=head;
            head=temp;
            cnt-=1;
        }
        return now;//返回每段翻转后的头节点
    }
}

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-11 12:52:01       53 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-11 12:52:01       56 阅读
  3. 在Django里面运行非项目文件

    2024-07-11 12:52:01       46 阅读
  4. Python语言-面向对象

    2024-07-11 12:52:01       57 阅读

热门阅读

  1. Go bufio包

    2024-07-11 12:52:01       23 阅读
  2. 华为机考真题 -- 螺旋数字矩阵

    2024-07-11 12:52:01       20 阅读
  3. 常见消息队列及其对比

    2024-07-11 12:52:01       22 阅读
  4. SAP ABAP webservice 函数字段结构调整了

    2024-07-11 12:52:01       20 阅读
  5. day10:04一文搞懂decode和decoding的区别

    2024-07-11 12:52:01       21 阅读
  6. 菜鸡的原地踏步史06(◐‿◑)

    2024-07-11 12:52:01       22 阅读
  7. unordered_map和set

    2024-07-11 12:52:01       18 阅读
  8. RAG技术知识笔记

    2024-07-11 12:52:01       24 阅读
  9. C# 泛型

    2024-07-11 12:52:01       23 阅读