资讯专栏INFORMATION COLUMN

k个一组翻转链表 哔哩哔哩2020校园招聘笔试题/LeetCode_25(困难)讲解

CntChen / 874人阅读

摘要:三代码实现用空格分割链表每个元素将链表分为组组组内翻转,如果不够一组,就不进行翻转。下一组的起始位置为什么的上限是输入的要求是每个元素后面跟个但是最后一个没有,最后一个元素就要最后输出。

一、题目信息

LeetCode版本

牛客网版本

下面我以牛客网为例写代码

题目需要先输入一组数字代表链表的值,以#代表结尾。
下一行输入K代表每组个数

问题来了,怎么翻转?

假如有如下链表,且K=2.

那就从链表的一号下标开始,到2号下标,在这个区间内进行组内翻转。

如果元素不够K个时,就不进行翻转。


二、解题思路

将链表分为K组,每组组内进行翻转。每次翻转完后,更换翻转区间。其他细节放在代码注释中。


三、代码实现

class Main{    public  static  void  reverse(String [] res,int start,int end){     while (start<end){        String tmp=res[start];        res[start]=res[end];        res[end]=tmp;        start++;        end--;     }    }    public static void main(String[] args) {        Scanner scanner=new Scanner(System.in);        String str;        str=scanner.nextLine();        //用空格分割链表每个元素        String strarr[]=str.split(" ");        int k;        k=scanner.nextInt();        //将链表分为K组,K组组内翻转,如果不够一组,就不进行翻转。        int start=0;        while (start+k-1<strarr.length-1){          reverse(strarr,start,start+k-1);          //下一组的起始位置          start=start+k;        }         /**为什么i的上限是strarr.length-2?         * 输入的要求是每个元素后面跟个 ->但是最后一个没有,          * 最后一个元素就要最后输出。         */        for (int i = 0; i < strarr.length-2 ; i++) {            System.out.print(strarr[i]+"->");        }       /* System.out.println(strarr[ strarr.length-2]);*/    }}


四、其他精选题目分享

一年中的第几天 哔哩哔哩2020校园招聘笔试题讲解

复数乘法 哔哩哔哩2020校园招聘面试题详解

剑指 Offer 67. 把字符串转换成整数

怎么把i am a student逆置成student a am i?面试题逆置字符串讲解

三种方法任君挑选 LeetCode_136只出现一次的数字

什么?动态规划10行求出连续子数组的最大和 剑指offer-42讲解

剑指 Offer 39. 数组中出现次数超过一半的数字 简单易懂14行搞定 。人人皆可会

二叉树的层序遍历原理+LeetCode真题练习

LeetCode 24:两两交换链表中的节点,1662. 检查两个字符串数组是否相等

LeetCode 21. 合并两个有序链表

剑指 Offer 58 - II. 左旋转字符串的三种解法一起看看吧!!

字符串“aabcccccaaa”压缩成“a2b1c5a3“还要返回更小的?力扣面试题 01.06. 字符串压缩讲解

字符串bit666keji123“中数字的个数?

找到不重复的数字进阶版 空间复杂度O(1),时间O(n)平方,不能修改数组内容。不能对数组进行排序

LeetCode_231. 判断一个数是否为2 的幂,与运算一行代码解决

验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和

剑指 Offer II 010. 和为 k 的子数组 前缀和+哈希表优化讲解

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/119777.html

相关文章

  • 复数乘法 哩哔2020校园招聘试题详解

    摘要:二解题方法分别获取两个字符串的整数部分,再把这两部分字符串转换成整数,最后用复数乘法公式得出结果。复数乘法公式也就是说我们只需要在两个字符串中获取这四个数字。 一...

    ThreeWords 评论0 收藏0
  • 哩哔哩2018校招前端

    摘要:前言前几日,哔哩哔哩在电子科大清水河校区举行了校招宣讲会。博文地址哔哩哔哩校招前端笔试第一题给定一个整数数组,找到具有最大和的子数组,返回最大和。 前言 前几日,哔哩哔哩在电子科大清水河校区举行了校招宣讲会。B站不用多说,中国最大的同性交友网站,不去工作也能去看看。 当晚便进行了部分笔试,下面是我参加的前端笔试试题和我自己的解答,分享给大家。 博文地址:哔哩哔哩2018校招前端笔试...

    anquan 评论0 收藏0
  • 哩哔哩2018校招前端

    摘要:前言前几日,哔哩哔哩在电子科大清水河校区举行了校招宣讲会。博文地址哔哩哔哩校招前端笔试第一题给定一个整数数组,找到具有最大和的子数组,返回最大和。 前言 前几日,哔哩哔哩在电子科大清水河校区举行了校招宣讲会。B站不用多说,中国最大的同性交友网站,不去工作也能去看看。 当晚便进行了部分笔试,下面是我参加的前端笔试试题和我自己的解答,分享给大家。 博文地址:哔哩哔哩2018校招前端笔试...

    TalkingData 评论0 收藏0
  • 哩哔哩2018校招前端

    摘要:前言前几日,哔哩哔哩在电子科大清水河校区举行了校招宣讲会。博文地址哔哩哔哩校招前端笔试第一题给定一个整数数组,找到具有最大和的子数组,返回最大和。 前言 前几日,哔哩哔哩在电子科大清水河校区举行了校招宣讲会。B站不用多说,中国最大的同性交友网站,不去工作也能去看看。 当晚便进行了部分笔试,下面是我参加的前端笔试试题和我自己的解答,分享给大家。 博文地址:哔哩哔哩2018校招前端笔试...

    zhonghanwen 评论0 收藏0
  • 单片机入门指南

    摘要:单片机入门指南本文基于常神文章基础上将单片机入门部分进行细化尽可能细节做到可实施性先引用一下常神的文章首先假设大家已经对高中物理的电路部分有所了解。单片机,如,是一种根据程序控制引脚高低电平的可编程器件,有些场合又将这种行为称作嵌入式。 ...

    nevermind 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<