数据结构(二):括号匹配(C++,栈) #include <iostream> #include <stack> using namespace std; bool isValid(string s) { stack <char> sta; char c,b; int l=s.length(); for(int i=0;i<l;i++) { //将所有的左半边括号入栈 if(s[i]=='(‘ || s[i]=='[‘ || s[i]=='{‘) { sta.push(s[i]); } //对后面的素逐一检查 //三种情况 //1.栈空了,返回false //2.成功匹配,将成功匹配的字符出栈 //3.其他情况,返回false else if(s[i]==’)’) { if(sta.empty()) return false; else if(c=sta.top(),c=='(‘) sta.pop(); else return false; } else if(s[i]==’]’) { if(sta.empty()) return false; else if(c=sta.top(),c=='[‘) sta.pop(); else return false; } else if(s[i]==’}’) { if(sta.empty()) return false; else if(c=sta.top(),c=='{‘) sta.pop(); else return false; } } if(sta.empty()) return true; else return false; } int main() { string s; cin>>s; //输入字符 bool b=true; b=isValid(s); if(b==true) cout << “true”; else cout << “false”; return 0; }
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/66667.html