20 有效的括號

2021-08-28 20:36:50 字數 1100 閱讀 9875

給定乙個只包括'('')''''['']'的字串,判斷字串是否有效。

有效字串需滿足:

左括號必須用相同型別的右括號閉合。

左括號必須以正確的順序閉合。

注意空字串可被認為是有效字串。

示例 1:

輸入:"()"輸出:true
示例 2:

輸入:"(){}"輸出:true
示例 3:

輸入:"(]"輸出:false
示例 4:

輸入:"([)]"輸出:false
示例 5:

輸入:""輸出:true
思路:遇到括號匹配的問題首先想到要用棧,以下兩種方法大同小異

方法一:如果右括號不能與棧頂的元素匹配,就入棧,否則將棧頂元素彈出,最後判斷棧是否為空,為空則有效,否則無效

class solution ')

c.pop();

else

c.push(s[i]);

}if(c.empty())

return true;

else

return false;

}};

方法二:遇到左括號就進棧,遇到右括號,就判斷棧頂元素是否與之匹配,匹配的話就pop出棧,不匹配的話就返回false。 

class solution ' && store.top()!='

}return store.empty();

}};

20 有效括號

1.題目描述 給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。2.示例 輸入 輸出 true輸入 輸出 false3.思路 可以採用棧來解決,第一步 判斷棧是否空,為空則進乙個括號,若不為空,則判斷當前括號和棧頂元素是否匹配,不...

20 有效的括號

給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true示例 2 輸入 輸出 true示例 3 輸入 輸出 false示例 4 輸入 輸出 false示例 5 輸入 輸出 tr...

20 有效的括號

給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true思路 注釋 class solution if s.length 2 1 stackstack new stack ch...