在一行上输入一个由小写字母构成的字符串,长度记为
。
在一行上输出一个字符串,表示操作后的字符串。
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)); } }