class Solution {
public:
bool isValid(string s) {
int start=,end=s.size()-;
if(end==-)//万万没想到,他把空字符串当成true了
return true; int ss[end+];//歪方法,把左括号全部<0,右括号都>0,且同类型符号绝对值一样
for(int i=;i<end+;i++)
{
if(s[i]=='(')
ss[i]=-;
else if(s[i]==')')
ss[i]=;
else if(s[i]=='{')
ss[i]=-;
else if(s[i]=='}')
ss[i]=;
else if(s[i]=='[')
ss[i]=-;
else if(s[i]==']')
ss[i]=;
else
return false;
} stack<int> str;
while(start<end+)//要等于end啊,老是忘
{
if(ss[start]<)//如果小于0就入栈
str.push(ss[start]); if(ss[start]>)//如果大于0,判断栈空不空,不空的话栈顶和当前数是否编号
{
if(!str.empty() && ss[start]==-*(str.top()))
str.pop();
else
return false;//否则假
}
start++;
} if(!str.empty())//结束后检测栈空不,不然对于全是左括号的就通过了
return false;
return true;
}
};

分析:

一个简单题啊,还是情况没分析到位,一开始思路错了。

后来思路对了,但是程序总是有毛病,但是总得来说还是情况没分析到位。

最新文章

  1. HTML5笔记1——HTML5的发展史及标签的改变
  2. CF #376 (Div. 2) C. dfs
  3. 一起学习KenDo Mobile之一 建立一个简单的移动APP
  4. json+mvc
  5. unity3d基础02
  6. 用phpmailer发邮件 中文乱码问题解决
  7. allegro添加多个过孔
  8. Jsoup解析Html教程
  9. shell中的expr命令
  10. 【转】GCC警告选项例解 -- 不错
  11. php 变量 循环关键词以及方法
  12. 如何使用门罗币远程节点remote node?
  13. PAT 1023 组个最小数 (20)(代码+思路)
  14. android-基础编程-democoderjoy-架构篇
  15. Redis学习---面试基础知识点总结
  16. JAVA 对象序列化(二)——Externalizable
  17. Can not find the tag library descriptor for &quot;http://www.springframework.org/tags&quot;
  18. 如何选择mysql存储引擎
  19. 【vue】饿了么项目-页面骨架开发
  20. MongoDB数据库 : 基础

热门文章

  1. Python笔记 #20# SOM
  2. close yield
  3. hibernate 和mybatis
  4. entry points
  5. 深度学习demo
  6. Docker学习记录--入门了解+安装
  7. centos7 update network time
  8. 回归Android之Android基础和小常识
  9. 标签无效 &quot;/zabbix_export/date&quot;: &quot;YYYY-MM-DDThh:mm:ssZ&quot; 预计。
  10. Django 创建项目笔记