现在有一字符串,按规定要求完成,字符串由英文字母组成,如 "asdqwezccdddd"
要求只遍历一次找出其中连续2次及以上的字符串片段,上述字符串应该输出 ”cc,dddd"
private doubleString(String s) {
char[] cs = s.toCharArray();
StringBuffer sb = new StringBuffer();
//遍历字符数组
int length = cs.length;
for(int i = 0;i<length;i++) {
//当前字符与前一个字符、后一个字符是否相同
if((i < length-1 && cs[i]== cs[i+1])||(i>0 && cs[i]== cs[i-1])){
//当前字符跟sb最后一个不相同添加逗号分隔
if(sb.length()>1&&
!sb.substring(sb.length()-1,sb.length()).equals(String.valueOf(cs[i])){
sb.append(",");
}
sb.append(cs[i]);
}
}
//输出
System.out.println(sb);
}
网友评论