0
点赞
收藏
分享

微信扫一扫

输入两个字符串,交换打印字符串字母

zhoulujun 2022-11-22 阅读 106


做Calix实习生面试题,其中一题是这样的:输入两个字符串,交替打印;

如:abc,def,则打印出adbecf

               av,defg  ,则打印出advefg


static String mergeStrings(String a, String b) {
StringBuffer sb=new StringBuffer();
char[] aStr=a.toCharArray();
char[] bStr=b.toCharArray();
int len1=aStr.length;
int len2=bStr.length;
int index=0;
int dif=len1-len2;
int shortStr=len1;
int longStr=len2;
if(dif>0){
shortStr=len2;
longStr=len1;
}
//交替打印两字符串相同长度的部分
while(index<shortStr){
sb.append(aStr[index]);
sb.append(bStr[index]);
index++;
}
//此时短字符串意见打印完毕;打印长的字符串
for(int i=shortStr;i<longStr;i++){
if(dif<0){
sb.append(bStr[i]);
}else{
sb.append(aStr[i]);
}

}
return sb.toString();


}


举报

相关推荐

0 条评论