删除连续相同的字符串

package xiaoxiaole;


import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;


/**
 * 消消乐,遇到三个或者三个以上的元素,消除,剩下重新连接,若有三个相同的再消掉
 * 
 */
public class Pop {
public static void main(String[] args) {
Scanner cin=new Scanner(System.in);
List<String> list=new ArrayList<String>();
while(cin.hasNext()){
list.add(cin.next());
}
list=delete(list);
if(list.size()==0){
System.out.println("none");
}else{
for (String string : list) {
System.out.print(string+" ");
}
}
}


private static List<String> delete(List<String> list) {
int num=0;
for(int i=0;i<list.size()-1;){
num=0;
for(int j=i+1;j<list.size();j++){
if(list.get(i)==list.get(j)){
num++;
}else break;
}
if(num>=2){
while(num>=0){
list.remove(i);
num--;
}

if(i>2) i=i-2;

else i=0;

}else i++;
}
return list;
}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这可以通过使用循环和比较来实现。 思路是:遍历字符串中的每个字符,如果当前字符和前一个字符不同,则将当前字符添加到结果字符串中。 代码实现: ``` def remove_duplicates(s): result = "" for i in range(len(s)): if i == 0 or s[i] != s[i - 1]: result += s[i] return result ``` 示例: ``` >>> remove_duplicates("aabcccccaaa") 'abc' ``` ### 回答2: 要将字符串连续相同字符仅保留1个,可以通过迭代字符串来实现。 首先,定义一个空字符串res,用于保存处理后的字符串。 然后,从左到右遍历输入字符串。对于当前字符,如果与下一个字符不同,则将当前字符加入res中,保留1个。如果与下一个字符相同,则跳过当前字符,继续遍历下一个字符。 最后,输出res即为处理后的字符串,其中连续相同字符仅保留1个。 下面是一个具体的实现示例: ```python def remove_duplicates(string): res = "" for i in range(len(string)-1): if string[i] != string[i+1]: res += string[i] res += string[-1] return res input_string = "AABBCCDDEEFF" output_string = remove_duplicates(input_string) print(output_string) ``` 以上代码的输出结果为:ABCDDEF。输入字符串"AABBCCDDEEFF"经过处理后,连续相同字符仅保留1个,得到的字符串为"ABCDDEF"。 ### 回答3: 将字符串连续相同字符仅保留1个的方法是通过遍历字符串,判断当前字符和下一个字符是否相同,如果相同,则将下一个字符删除,继续遍历下一个字符,直到遍历完成。 具体步骤如下: 1. 初始化一个空字符串来保存结果。 2. 遍历原始字符串,从第一个字符开始。 3. 对于当前字符,比较它和下一个字符是否相同。 4. 如果相同,则跳过该字符,继续遍历下一个字符。 5. 如果不相同,则将该字符连接到结果字符串中。 6. 继续遍历下一个字符,直到遍历完成。 7. 返回结果字符串。 以下是一个示例代码: ```python def remove_duplicate_chars(string): result = "" for i in range(len(string) - 1): if string[i] != string[i+1]: result += string[i] # 将最后一个字符加入结果字符串 result += string[-1] return result # 测试 original_string = "aaabbbcccdddeee" result_string = remove_duplicate_chars(original_string) print(result_string) # 输出: "abcde" ``` 通过以上步骤,我们可以将字符串连续相同字符仅保留1个。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值