消除字符串中相邻的相同字符-Java

该博客介绍了一个字符串处理问题,要求消除相邻的相同字符。给出详细输入输出描述及样例,如输入字符串'abccbd',处理后变为'ad'。博主提供了算法思路,使用两个栈A和B进行比较和处理,确保相邻重复字符被消除。
摘要由CSDN通过智能技术生成

题目描述

给定一个字符串,从左到右扫描,如存在两个或两个以上的相同字符靠在一起,则消除这些字符。对每次消除后剩下的字符串,继续应用上述规则,直到不能消除为止。

输入

任意字符串

输出

消除后的字符串

样例

输入
abccbd

输出
ad

输入
snggnnqp

输出
sqp

代码

算法描述:准备一个栈A,将数据存入栈A之前,比较当前数据和栈顶元素是否相等,相等则将数据出栈,并且将出栈数据存到另一个栈B中,标记当前顺序;如果不等,则比较当前数据是否与另一个栈B顶的元素是否相等,是否有标记,相等则不入栈,不等,则入栈A。

import java.util.Scanner;

public class SomeTest {
   
	
	public static void main(String[] args) {
   
		Scanner sc=new Scanner(System.in);
		while(sc.hasNext(
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值