计蒜客--幸运分--栈

题意:统计完整的括号匹配的个数;

思路:栈的运用;

注意:这里对于前导为")"的情况可以不用deal;

#include<iostream>
#include<algorithm>
#include<cstdio> 
#include<stack>
#include<cstring>
using namespace std;
const int maxa=1e5+10;
char a[maxa];
int deal(){
	int temp=0;
	for(int i=0;i<strlen(a);i++)
		if(a[i]=='('){
			temp=i;
			break;
		}
	return temp;
}
int main(){
	stack<char>s;
	while(cin>>a){
		int ans=0;
		int temp=deal();//去除前缀')'; 
		for(int i=temp;i<strlen(a);i++){
			if(a[i]=='(')	s.push(a[i]);
			else if(a[i]==')'&&!s.empty()){
				s.pop();
				ans++;
			}
		}
		printf("%d\n",ans);
	}
} 
发布了226 篇原创文章 · 获赞 90 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/queque_heiya/article/details/105592810
今日推荐