用栈的思想判断一个表达式的左右括号是否匹配(c语言)

判断一个表达式的左右括号是否匹配

int IfMatch(char s[]){
	int top=-1,i=0; 
	while(s[i]){
		if(s[i]=='(')
			top++;
		else if(s[i]==')'){
			if(top!=-1)
				top--;
			else
				return 0;//右括号多,(栈空)
		}
		if(top==-1)
			return 1;//完全匹配
		else 
			return 0;//左括号多,(栈不空)
	}
}

思路:将左括号依次入栈,遇见左括号栈加,右括号栈减。

发布了14 篇原创文章 · 获赞 0 · 访问量 305
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 深蓝海洋 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览