給定乙個只包括 '(',')','','[',']' 的字串,判斷字串是否有效。
有效字串需滿足:
左括號必須用相同型別的右括號閉合。
左括號必須以正確的順序閉合。
注意空字串可被認為是有效字串。
示例 1:
輸入: "()"
輸出: true
示例 2:
輸入: "(){}"
輸出: true
示例 3:
輸入: "(]"
輸出: false
示例 4:
輸入: "([)]"
輸出: false
示例 5:
輸入: ""
輸出: true
這道題不是特別難,
如果字串為空,返回true。
先初始化乙個stl的stack,左括號入棧,右括號與棧頂進行匹配,匹配的話出棧,不匹配返回false。
如果當字串結束之後棧仍然不為空,仍然需要返回false。
如果當字串結束之後棧為空,則返回true。
class solution {
public:
bool isvalid(string s) {
//空字串有效
if(s.size()==0)
return true;
//初始化堆疊來儲存各個括號
LeetCode第20題,有效的括號
題目 給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串 示例 2 輸入 輸出 true 示例 3 輸入 輸出 false 解題思想 模仿棧的操作,遇到左括號入棧,遇到右括號檢測棧頂元素是否與該右括號匹...
LeetCode第20題 有效的括號
給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。思路 時間複雜度o n 將左括號放入棧中,如果是右括號,判斷當前棧頂元素是否和當前有括號型別一致。每有乙個右括號與棧頂左括號匹配,就將棧頂左括號彈出。...
第20 題 有效括號 python
思路 字典儲存對應括號 遍歷字串 左括號入棧 右括號分三種情況 1.若此時棧為空,直接返回false 2.若此時右括號和棧頂左括號不匹配,直接返回false 3.若此時右括號和棧頂左括號匹配,棧頂左括號出棧 遍歷結束後 若棧為空棧,說明所有括號都匹配完成,返回true 否則,返回false clas...