600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 【数据结构】-括号匹配

【数据结构】-括号匹配

时间:2022-08-16 13:24:03

相关推荐

【数据结构】-括号匹配

问题:

输入一个带有 '(' 、')'的字符串,编写程序判断左右括号个数是否匹配。

输入:(4+3)*5/((34+2)-64)

思路:

| 若有左括号压入栈中

输入字符串--->遍历各字符---> | --->判断栈是否为空--->空--->匹配

| 若有右括号进入判断--->栈为空--->括号不匹配--->不空--->不匹配

--->栈不空--->将栈顶弹出

c++代码:

#include<stack>#include<string>#include<iostream>using namespace std;bool matchParenthesis(const string& s){stack<char> let;string::size_type len = s.length();for(string::size_type i=0;i<len;i++){char a = s.at(i);if(a=='(')let.push(a);else if(a==')'){if(let.empty()){cout<<"false"<<endl;return false;}let.pop();}}if(let.empty()){cout<<"true"<<endl;return true;} else{cout<<"false"<<endl;return false;}}int main(void){string s;cout<<"please input string:";cin>>s;matchParenthesis(s);}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。