/**
* 去除重复字符(重复字符不保留)
* @param s 原始字符串
* @return 去重后的字符串
*/
public static String remove(String s){
//字符串拆分数组
char [] ss = s.toCharArray();
//标识符(是否继续判断是否有重复)
boolean flag = false;
//接收去重后的字符
StringBuffer sb = new StringBuffer();
//开始判断
do {
//每次开始循环之前重置标识为false
flag = false;
//清空接收字符串
sb = new StringBuffer();
//标识(是否有重复字符)
boolean n = false;
//循环查找重复字符
for (int i = 0; i < ss.length; i++) {
//存在重复字符
while (i < ss.length - 1 && ss[i] == ss[i+1] ) {
//下标+1
i++;
//本次循环结束后继续进行下次循环判断重复字符
flag = true;
//存在重复字符
n = true;
}
//存在重复字符
if(n){
//重复字符后一位开始
i++;
//重置标识
n = false;
}
//拼接去重字符
sb.append(ss[i]);
}
//数组重新赋值
ss = sb.toString().toCharArray();
} while (flag);
return sb.toString();
}
字符串去除重复字符(重复字符不保留)
猜你喜欢
转载自blog.csdn.net/qq_36161345/article/details/83025682
今日推荐
周排行