【发布时间】:2016-02-28 21:56:00
【问题描述】:
我正在尝试hackerrank 中的摩根和弦乐挑战 (https://www.hackerrank.com/challenges/morgan-and-a-string/)
我的尝试如下:
public static void main(String[] args) {
/* Enter your code here. Read input from STDIN. Print output to STDOUT. Your class should be named Solution. */
Scanner in = new Scanner(System.in);
int testCases = in.nextInt();
for(int i=0; i<testCases; i++){
StringBuilder a = new StringBuilder(in.next());
StringBuilder b = new StringBuilder(in.next());
StringBuilder result = new StringBuilder();
int indexA = 0;
int indexB = 0;
while(indexA < a.length() && indexB < b.length()){
if(a.charAt(indexA)<=b.charAt(indexB)){
result.append(a.charAt(indexA));
indexA++;
}
else{
result.append(b.charAt(indexB));
indexB++;
}
}
if(indexA==a.length()){
result.append(b.substring(indexB,b.length()));
}
else{
result.append(a.substring(indexA,a.length()));
}
System.out.println(result.toString());
}
}
我正确理解了前两种情况:
2 杰克 丹尼尔 ABACABA ABACABA
输出:
达杰克尼尔 AABABACABACABA
我不太确定我是否没有正确理解问题,或者我的输入用例过多,我看不到其他测试用例,但希望你们看看代码。
欢迎任何帮助。
谢谢!
【问题讨论】:
标签: java string concatenation