class Solution {
public:
bool checkValidString(string s) { stack<int> left,star;
for(int i=0;i<s.size();i++){ if(s[i]=='(') left.push(i);
else if(s[i]=='*') star.push(i); else {
if(left.empty() && star.empty()) return false;
if(!left.empty()) left.pop(); else star.pop(); } }
while(!left.empty() && !star.empty()){ if(left.top()>star.top()) return false;
left.pop();
star.pop(); }
return left.empty(); }};
双栈用法
最新推荐文章于 2022-07-14 21:21:50 发布