华为OD机试 2023B卷题库疯狂收录中,刷题点这里
本专栏收录于《华为OD机试(JAVA)真题(A卷+B卷)》。
刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。
游戏规则:
输入一个只包含英文字母的字符串,字符串中的两个字母如果相邻且相同,就可以消除。在字符串上反复执行消除的动作,直到无法继续消除为止,此时游戏结束输出最终得到的字符串长度。
输入原始字符串str,只能包含大小写英文字母,字母的大小写敏感,str长度不超过100。
输出游戏结束后,最终得到的字符串长度。
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
/**
* 栈:后进先出
* 队列:先进先出
*/
Stack stack = new Stack();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
/**
* peek():取栈顶元素但不弹出
* pop():将栈顶元素弹出
*/
if(!stack.empty() && stack.peek().equals(c)){
stack.pop();
}else{
stack.push(c);
}
}
System.out.println(stack.size());
}
NezhaahZ
4
下一篇:华为OD机试 - 荒岛求生 - 栈Stack(Java 2023 B卷 100分)
本文收录于,华为OD机试(JAVA)真题(A卷+B卷)
刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。