
題目給定一個只包括(){}[]的字符串s判斷字符串是否有效。有效字符串需滿足左括號必須用相同類型的右括號閉合。左括號必須以正確的順序閉合。每個右括號都有一個對應的相同類型的左括號。通常利用棧去實現(xiàn)該功能一般都是左右括號進行匹配遍歷括號組若是左括號則把右括號壓入棧若是右括號則與棧頂進行匹配如果匹配不上就false如果匹配上了就把棧頂出棧最后最后最后還要判斷是否有殘留的括號class Solution { public: bool isValid(string s) { if (s.size() % 2 ! 0) return false; stackchar st; for (int i 0; i s.size(); i) { if (s[i] () st.push()); else if (s[i] [) st.push(]); else if (s[i] {) st.push(}); else if (st.empty() || st.top() ! s[i]) return false; //遍歷進來的沒和棧頂匹配上就是不合格 else st.pop(); } return st.empty(); } };