加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
leetcode678.cpp 1.57 KB
一键复制 编辑 原始数据 按行查看 历史
jamesjd_handsome 提交于 2020-04-03 11:28 . hahah
#include <vector>
#include <iostream>
#include <stack>
#include <algorithm>
using namespace std;
void show(stack<int> &ss){
cout<<"begin";
auto s=ss;
while (!s.empty())
{
cout<<s.top()<<" ";
s.pop();
/* code */
}
cout<<endl;
}
class Solution
{
public:
bool checkValidString(string s)
{
stack<int> left, star;
for (int i = 0; i < s.size(); i++)
{
cout<<s[i]<<endl;
switch (s[i])
{
case '(':
/* code */
left.push(i);
break;
case '*':
/* code */
star.push(i);
break;
case ')':
/* code */
cout<<"howcould"<<endl;
if (!left.empty())
left.pop();
else if (!star.empty())
star.pop();
else
return false;
break;
default:
break;
}
show(left);
show(star);
cout<<endl;
}
cout<<"!!!";
while (!left.empty()&&!star.empty())
{
if (left.top() < star.top())
{
left.pop();
star.pop();
}
else
return false;
show(left);
show(star);
cout<<endl;
}
return left.empty();
}
};
int main(){
Solution a;
cout<< a.checkValidString("(*()");
return 0;
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化