在一行上输入一个由小写字母构成的字符串,长度记为
。
在一行上输出一个字符串,表示操作后的字符串。
paectc
accept
第一步,第二步
,第三步
,第四步
,第五步
,第六步
。
abqde
bdaeq
import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static char[] ret;
public static int cur;
public static void dfs(char[] strArray,boolean flag){
if(strArray.length==1){
ret[cur++]=strArray[0];
return;
}
int n=strArray.length;
char[] nextArray;
if(flag){
nextArray=new char[(n+1)/2];
}else{
nextArray=new char[(n)/2];
}
int p=0;
boolean newFlag=false;
//flag通过本次是否最后一个元素加入ret来判断
if(flag){
for(int i=0;i<n;i++){
if(i%2==0){
nextArray[p++]=strArray[i];
if(i==n-1){
newFlag=false;
}
}else{
ret[cur++]=strArray[i];
if(i==n-1){
newFlag=true;
}
}
}
}else{
for(int i=0;i<n;i++){
if(i%2==1){
nextArray[p++]=strArray[i];
if(i==n-1){
newFlag=false;
}
}else{
ret[cur++]=strArray[i];
if(i==n-1){
newFlag=true;
}
}
}
}
dfs(nextArray,newFlag);
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String str=in.nextLine();
int n=str.length();
ret=new char[n];
int cur=0;
char[] strArray=str.toCharArray();
dfs(strArray,true);
System.out.println(new String(ret));
}
}