CGLib动态代理 webserver reactjs plugins uicollectionview vue论坛 vue学习教程 河南网络推广 flink教程视频 erp系统源码 oracle显示所有数据库 grep不是内部命令 一兆等于多少字节 matlab对数函数 python数据类型转换 python断言assert实例 python算法 python创建数据库 python怎么使用 eclipse安装python javadate java编译环境 怎么配置java环境 java日期类 java遍历 java正则匹配数字 java获取数据类型 java接口的修饰符 java入门基础 linux的find linux下载安装 python下载教程 房产证生成器 打马赛克的软件 matlab2016a安装教程 rar去广告 ae脚本管理器 服务器系统安装 php购物车 催眠魔蛙
当前位置: 首页 > 学习教程  > 编程语言

25.reverseKGroup

2020/12/28 18:35:49 文章标签:

25.K个一组翻转链表 /*** 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; }* }…

25.K个一组翻转链表在这里插入图片描述

/**
 * 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 dummy=new ListNode(0,head);

        ListNode pre=dummy;
        ListNode end=dummy;
        while(end.next!=null){
            for(int i=0;i<k&&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;
    }
}

本文链接: http://www.dtmao.cc/news_show_550034.shtml

附件下载

上一篇:Spring Cloud(5)

下一篇:《SSM项目实战》

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?