給定乙個只包括 『(』,』)』,』』,』[』,』]』 的字串,判斷字串是否有效。
示例 1:
輸入: 「()」
輸出: true
示例 2:
輸入: "(){}"
輸出: true
示例 3:
輸入: 「(]」
輸出: false
示例 4:
輸入: 「([)]」
輸出: false
示例 5:
輸入: 「」
輸出: true
利用棧的特性來解題,演算法設計思路如下
1)凡出現左括號,則進棧;
2)凡出現右括號,首先檢查棧是否空。
若棧空,則表明該「右括號」多餘;
否則和棧頂元素比較,
若相匹配,則「左括號出棧」,
否則表明不匹配。
3)凡出現左括號,則進棧;
bool isvalid
(string s)
'&& str.top =='}
return str.
empty()
;}
利用map標記一對兒括號(leetcode解法)
bool isvalid
(string s),,
','}
; stack<
char
>str;
for(
auto x:s)
else str.
push
(x);
//如果是方向朝左的括號就入棧
}return str.
empty()
;}
有效的括號
題目描述 給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。解題思路 坦白來講這道題真的沒什麼思路,掉的坑也比較多,因為審題不認真,最後的一句話,注意空字串可被認為是有效字串。被吃掉了 最後提交的 執...
有效的括號
給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。多組資料 每組是乙個由 組成的括號序列 每組字串長度不超過50。如果有效輸出true,否則輸出false。true true false false ...
有效的括號
給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。多組資料 每組是乙個由 組成的括號序列 每組字串長度不超過50。如果有效輸出true,否則輸出false。true true false false ...