【发布时间】:2019-07-16 13:42:13
【问题描述】:
我需要编写一个将字符串作为参数并返回一个新字符串的方法,该方法通过将重复相邻字母的每个实例替换为该字符串的'n' 实例而获得。
例如,如果"aaabcccd" 作为输入字符串和n =2,则返回"aabccd"。我已经尝试了以下代码,但没有得到预期的输出
String in = "aaadbbb";
char[] s = in.toCharArray();
int len = s.length;
int n = 2;
StringBuffer new_s = new StringBuffer("");
int count = 1;
char prev='\0';
for (int i = 0; i < len - 1; i++) {
if (s[i] == s[i + 1]) {
if(count <= n){
new_s.append(s[i]);
count++;
}else{
count=1;
}
} else {
new_s.append(s[i]);
}
}
System.out.println(new_s);
输出-aaadb
预期-aadbb
【问题讨论】:
-
你能解释一下你的代码背后的逻辑吗?