在求職面試中,您面臨的挑戰是編寫一個算法來檢查給定字符串s是否可以由其他兩個字符串part1和part2組成。codewars合併字符串檢查器
限制是part1和part2中的字符與s中的字符順序相同。
面試官給你下面的例子,告訴你從給定的測試用例中找出其餘的部分。
例如:
'codewars' 是 'CDW' 和 'oears' 合併:
參見:https://www.codewars.com/kata/merged-string-checker/train/java
這是我的Java代碼,但無法通過所有測試請問,哪裏錯了?謝謝!
public static boolean isMerge(String s, String part1, String part2) {
s = s.replace(" ","");
part1 = part1.replace(" ","");
part2 = part2.replace(" ","");
int index1 = 0;
int index2 = 0;
char[] cp1 = part1.toCharArray();
char[] cp2 = part2.toCharArray();
for (int i = 0; i < s.length();) {
char is = s.charAt(i);
if (index1 < cp1.length && cp1[index1] == is) {
index1++;
i++;
continue;
}
if (index2 < cp2.length && cp2[index2] == is) {
index2++;
i++;
continue;
}
return false;
}
return s.length() == index1 + index2;
}
當你用調試器遍歷代碼時,你發現了什麼? –
考慮'return false'處的行。 – Queue