题目:两个字符串合并,无论长短如何,都是两个字符窜,交叉合并。剩余字符串补齐到合并之后的字符串。举例说明:
Sting a="abcde",String b="12345678";合并之后字符串为 “a1b2c3d4e5678”;
解决思路:1.先将字符串转化为char数组
2.通过双循环,再使用stringbuilder进行字符串的合并。
3.最后做出判断,后面需要补充的剩余字符串即可。
代码如下所示:
public void forMath() {
first="woshipengpeng";
second="helloword1234567";
String finalString="whoeslhliopweonrgdp1e2n3g4567";
char[] chars1 = first.toCharArray();
char[] chars2 = second.toCharArray();
StringBuilder builder = new StringBuilder();
for (int i = 0; i < chars1.length; i++) {
String temp = String.valueOf(chars1[i]);//获取当前外层数据
for (int j = 0; j < chars2.length; j++) {
String now = String.valueOf(chars2[j]);
if (j == i) {
builder.append(temp).append(now);
}
}
}
if (chars1.length > chars2.length) {
String lastChars = first.substring(chars2.length);
builder.append(lastChars);
} else if (chars1.length < chars2.length) {
String lastChars = second.substring(chars1.length);
builder.append(lastChars);
}
System.out.println("------>算法运行过后的字符串为----》" + builder.toString());
}