class Solution:
def checkValidString(self, s: str) -> bool:
res, sc = 0, 0
for c in s:
if c == ')':
res -= 1
if res + sc < 0:
return False
elif c == '(':
res += 1
else:
sc += 1
res, sc = 0, 0
for c in reversed(s):
if c == ')':
res += 1
elif c == '(':
res -= 1
if res + sc < 0:
return False
else:
sc += 1
return True