#七牛笔试
#import java.util.Stack; #import java.util.Scanner; public class Next{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int T = sc.nextInt(); Stack<Character> stack = new Stack<>(); for(int i=0;i<T;i++){ String s = sc.nextLine(); int len = s.length(); for(int j=0;j<len;j++){ if(stack.empty()){ stack.push(s.charAt(j)); continue; } if(s.charAt(j)==stack.peek()){ stack.pop(); } else{ stack.push(s.charAt(j)); } } if(stack.empty()) System.out.println("Yes"); else System.out.println("No"); } } }
通过只有10 % ,这道题不是用栈做的嘛,大哥们帮我看一下~
题目是:让我们来玩个消消乐游戏吧,给定一个只包含大写字母的字符串s,消除过程是如下进行的:
1)如果s包含长度为2的由相同字母组成的子串,那么这些子串会被消除,余下的子串拼成新的字符串;
2)重复进行第一步,直到新的字符串不包含相邻的相同字符为止。例如: "ABDDDCCBBD"经过一 轮,"DD","CC"和"BB"会被同时消除,余下"ABD", "D"拼成新的字符串"ABDD",再经过轮消除得到"AB"
1)如果s包含长度为2的由相同字母组成的子串,那么这些子串会被消除,余下的子串拼成新的字符串;
2)重复进行第一步,直到新的字符串不包含相邻的相同字符为止。例如: "ABDDDCCBBD"经过一 轮,"DD","CC"和"BB"会被同时消除,余下"ABD", "D"拼成新的字符串"ABDD",再经过轮消除得到"AB"
如果能全部消掉输出“yes" ,否则”No"
#七头牛笔试##笔试题目##七牛云#