Sample Input #1
"tiptop"
Sample Output #1
tptp
Sample Input #2
"TipTop"
Sample Output #2
TipTop
Sample Input #3
"tpttipptptaptptopp"
Sample Output #3
tpttpptptptptpp
码
public String changeLetters(String str){
String str1="";
for(int i=0;i<str.length();i++){
char ch1=str.charAt(i);
char ch2=str.charAt(i+2);
char ch3=str.charAt(i+1);
if(str.length()==i+1)
break;
if((ch1==116)&&(ch2==112)){
str1=str1+ch1+ch2;
i=i+2;
}else
str1=str1+ch1;
}
return str1;
当我尝试运行我的代码时,只有第一个测试用例“ tiptop”运行,而第二个测试用例失败时,您能否建议我在哪里做错了。
测试用例通过/失败参数实际输出预期输出
1通过'tiptop'tptp tptp
2 Fail'TipTop'null TipTop
最佳答案
使用以下代码:
public static String changeLetters(String str) {
String str1 = "";
for (int i = 0; i < str.length(); i++) {
if (i + 1 >= str.length()) {
str1 += str.charAt(i);
return str1;
}
char ch3 = '\u0000';
char ch1 = str.charAt(i);
char ch2 = str.charAt(i + 1);
if (i + 2 < str.length()) {
ch3 = str.charAt(i + 2);
}
if ((ch1 == 116) && (ch2 == 112)) {
i++;
str1 = str1 + ch1 + ch2;
} else if ((ch1 == 116) && (ch2 != 112) && (ch3 == 112)) {
i = i + 2;
ch2 = ch3;
str1 = str1 + ch1 + ch2;
} else {
str1 = str1 + ch1;
}
}
return str1;
}
查看输出:Ouput link
tpttpptptptptpppp
TipTop