识别字符串中的重复字符并替换它

时间:2018-03-12 14:40:26

标签: java

在Codewar.com中找到一个JavaScript作业:

  

本练习的目标是将字符串转换为新字符串   新字符串中的每个字符都是'(',如果该字符仅出现   一次在原始字符串中,或​​')'如果该字符显示更多   原始字符串中的一次。忽略大写时   确定某个字符是否重复。

示例:

"din" => "((("
"recede" => "()()()"
"Success" => ")())())"
"(( @" => "))(("

我尝试用Java完成作业,并提出了以下代码。我想知道这是编写代码的方式还是有更好的方法?如果是这样,请告诉我。

private static String duplicateEncode(String word) {
    String encodeString = "";
    String decodedString = word.toLowerCase();
    for (int i = 0; i < decodedString.length(); i++) {

        if (decodedString.substring(i + 1, decodedString.length())
                .contains(String.valueOf(decodedString.charAt(i)))
                || decodedString.substring(0, i).contains(String.valueOf(decodedString.charAt(i)))) {
            encodeString += ")";
        } else {
            encodeString += "(";
        }

    }
    return encodeString;
}

0 个答案:

没有答案