作者:
Furina (芙寧娜)
2025-01-13 00:53:072116. 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