2116. Check if a Parentheses String Can Be Valid
自己写的很多行又有漏洞,只好去看大神写的
思路:
字串长度是奇数就回传false
遍历字串,用open纪录锁住的括号数量,左括号加,右括号减
只要open加上没被锁住的括号数 < 0 就回传false
之后再反向遍历即可
C
bool canBeValid(char* s, char* locked) {
if(strlen(s) % 2 == 1) return 0;
int open = 0, close = 0, unlock_1 = 0, unlock_2 = 0;
for(int i = 0; i < strlen(s); i++){
if(locked[i] == '0') unlock_1++;
else if(s[i] == '(') open++;
else if(s[i] == ')') open