C++栈应用实例:判断字符串是否符合'ab'匹配规则 - Java代码实现
C++栈应用实例:判断字符串是否符合'ab'匹配规则 - Java代码实现
本文将介绍如何使用栈来判断一个字符串是否符合特定的'ab'匹配规则,并提供C++和Java两种语言的代码实现。
规则:
- 字符串中只包含'a'和'b'两种字符。* 每一个'a'后面必须跟着一个'b',多个'a'需要对应相同数量的'b'。
**C++代码实现:**c++#include
using namespace std;
string isValid(const string& str) { stack
int main() { int t; cin >> t; for (int i = 0; i < t; i++) { string temp; cin >> temp; cout << isValid(temp) << endl; } return 0;}
**Java代码实现:**javaimport java.util.Scanner;import java.util.Stack;
public class StringValidation { public static String isValid(String str) { Stack
public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int t = scanner.nextInt(); for (int i = 0; i < t; i++) { String temp = scanner.next(); System.out.println(isValid(temp)); } }}
代码解释:
- 创建栈: 使用
stack<char>(C++) 或Stack<Character>(Java) 创建一个字符栈,用于存储'a'。2. 遍历字符串: 遍历输入字符串中的每个字符。3. 栈操作: * 如果栈为空,则将当前字符压入栈中。 * 如果栈不为空,且栈顶元素为'a'且当前字符为'b',则将栈顶元素弹出,表示匹配成功。 * 否则,将当前字符压入栈中。4. 判断结果: 遍历结束后,如果栈为空,则说明所有'a'都找到了匹配的'b',返回'Yes',否则返回'No'。
总结:
本文介绍了如何使用栈来判断字符串是否符合'ab'匹配规则,并提供了C++和Java两种语言的代码实现。栈是一种非常有用的数据结构,可以用于解决很多算法问题,希望本文能帮助你更好地理解和使用栈。
原文地址: https://www.cveoy.top/t/topic/xUx 著作权归作者所有。请勿转载和采集!