2017年小红书在线笔试编程第二题
题目描述
给定一个字符串s和整形数字k,需要将没2k个字符中前k个字符进行翻转。当剩余字符不足k个字符时,翻转全部字符;当剩余的字符数大于等于k个字符并小于2k个字符时,则翻转前k个字符,剩余字符保持原状,字符串中只包含英文小写字母,长度不超过10000
输入描述
字符串s和整型数字k
输出描述
翻转后的字符串
实例1
输入
abcdefg 2
输出
bacdfeg
代码
import java.util.Scanner;
public class ReversalDemo {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
String s=sc.next();
int k=sc.nextInt();
int len=s.length();
int index=0;
String str="";
for(int i=0;i<len;i+=2*k){
if(index<k&&len>2*k){
str=str+reversal(s,index,k)+s.substring(k,2*k);
index=index+2*k;
}