消消乐游戏

时间:2025-03-14 08:06:10

题目解析

这题比较容易地解法是利用栈结构。

即先创建一个栈,然后遍历输入的字符串,将每一个字符尝试压入栈,但是压入前,需要判断,栈顶元素是否和将要压入的字符相同,若不同,则压入,若相同,则字符不压入,且栈顶元素弹出。

由于这题只要遇到两两相邻相同的字符就会消除,比如acccb,消除后就变为了acb,因此遇到>2的奇数个相同相邻字符,是无法消除完的,总是会遗留一个。

注意,遍历的字符如果是非字母,则直接返回0。

Java算法源码

import ;
import ;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner();
    (getResult(()));
  }

  public static int getResult(String s) {
    LinkedList<Character> stack = new Linked