对于任意位置的
)左边的( 加 * 要比 )多
( 右边的 )加 * 要比( 多
也就是都要有得配对的意思
从左右各数过来就好
class Solution {
public:
bool checkValidString(string s) {
for(int i = 0, l = 0, r = 0, star = 0; i < s.size(); i++){
if(s[i] == '('){
l++;
}
else if(s[i] == ')'){
r++;
if(r > l + star)
return false;
}
else if(s[i] == '*'){
star++;
}
}
for(int i = s.size() - 1, l = 0, r = 0, star = 0; i >= 0; i