public class Javatest77 {
/**
* 笔试题
* 练习3:输入字符串(中间有若干个空格隔开),要求:以空格隔开,删除空格两边字符串的重复字符再输出,
* 例:aabbbcc ddaaaffggbb变为abc dafgb(注意:输入的空格得保留下来)
*/
public static void main(String[] args) {
String s = "aabbbcc ddaaaffggbb";
char[] arr = s.toCharArray();
for (int i = 0,j = i + 1; i < arr.length - 1 && j < arr.length;) {
//跳过空格
if(arr[j] == ' '){
i = j + 1;
j = j + 1;
}
//i跳过重复需要被删除字符
else if(arr[i] != arr[j]){
i++;
while(arr[i] == '*'){
i++;
}
}
//重复需要被删除的字符用‘*’替换
else if(arr[i] == arr[j]){
arr[j] = '*';
}
//以上三个if任何一个成立,都会执行j++
j++;
}
StringBuilder s1 = new StringBuilder();
//遍历字符数组,跳过‘*’
for (int i = 0; i < arr.length; i++) {
if(arr[i] != '*'){
s1.append(arr[i]);
}
}
System.out.println(s1.toString());
}
}