【消消乐游戏】游戏规则:
输入一个只包含英文字母的字符串,字符串中的两个字母如果相邻且相同,就可以消除。
在字符串上反复执行消除的动作,直到无法继续消除为止,此时游戏结束。
输出最终得到的字符串长度。
示例1:
输入
aacbbdccca
输出
cdca
示例2:
输入
aacbbcd
输出
d
说明:aa、bb被消除后变成,ccd,接着cc又消除掉,最后变成d
解题
package com.winyar.algorithm.od;
import java.util.Scanner;
import java.util.Stack;
/**
* @Describe 【消消乐游戏】
* @Author Winyar
* @Date 2022/6/18
*/
public class PopHappy {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNextLine()) {
String line = sc.nextLine();
Stack<Character> stack = new Stack<>();
stack.push(line.charAt(0));
for (int i = 1; i < line.length(); i++) {
char current = line.charAt(i);
if (!stack.isEmpty() && current == stack.peek()) {
stack.pop();
} else {
stack.push(current);
}
}
StringBuilder sb = new StringBuilder();
while (!stack.isEmpty()) {
sb.insert(0, stack.pop());
}
System.out.println(sb);
}
sc.close();
}
}