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

10-07 12:51