精華區beta Marginalman 關於我們 聯絡資訊
2116. Check if a Parentheses String Can Be Valid ## 思路 記錄還沒配對的括號個數 open 把locked==0的也當作 `(` 如果遇到配對不了的括號 就回傳FALSE 兩個方向各掃一遍 ## Code ```cpp class Solution { public: bool canBeValid(string s, string locked) { int n = s.size(); if (n & 1) return false; int open = 0; for (int i=0; i<n; ++i) { if (locked[i] == '0' || s[i] == '(') { ++open; } else if (open == 0) { return false; } else { --open; } } open = 0; for (int i=n-1; i>=0; --i) { if (locked[i] == '0' || s[i] == ')') { ++open; } else if (open == 0) { return false; } else { --open; } } return true; } }; ``` -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 2.56.252.10 (日本) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1736651034.A.B6A.html
sustainer123: 不用考慮AB喔? 01/12 12:17