[leetcode]有效的括號
給定一個只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字串,判斷字串是否有效。
有效字串需滿足:
左括號必須用相同型別的右括號閉合。
左括號必須以正確的順序閉合。
注意空字串可被認為是有效字串。
-
示例 1:
輸入: “()”
輸出: true -
示例 2:
輸入: “()[]{}”
輸出: true -
示例 3:
輸入: “(]”
輸出: false -
示例 4:
輸入: “([)]”
輸出: false -
示例 5:
輸入: “{[]}”
輸出: true
來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/valid-parentheses
思路
- 若為左括號,則入棧;
- 若為右括號,而棧為空,返回false;若棧頂元素與右括號匹配,則彈出棧頂元素;若不匹配,返回false。
- 當全部執行完之後,棧不為空,返回false
- 最後返回true
程式碼
class Solution {
public:
bool isValid(string s) {
stack<char> a;
int i;
for(i=0;i<s.length();i++)
{
if(s[i]=='(' || s[i]=='[' || s[i]=='{')
{
a.push(s[i]);
}
else if(s[i]==')' || s[i]==']' || s[i]=='}')
{
if(a.empty()) return false;
if((a.top()=='(' && s[i]==')') || (a.top()=='[' && s[i]==']') || (a.top()=='{' && s[i]=='}'))
{
a.pop();
}
else return false;
}
}
if(!a.empty())
return false;
return true;
}
};
總結
- 棧的宣告要記得型別= =
相關文章
- Leetcode20. 有效的括號LeetCode
- Leetcode——20. 有效的括號LeetCode
- 【LeetCode-棧】有效的括號LeetCode
- LeetCode有效的括號(Python)LeetCodePython
- LeetCode 20. 有效的括號LeetCode
- 【LeetCode】 20.有效的括號LeetCode
- LeetCode-20. 有效的括號(棧模擬)LeetCode
- 20. 有效的括號
- Leetcode 20 有效的括號valid-parentheses(棧)LeetCode
- 最長有效括號
- [LeetCode] Longest Valid Parentheses 最長有效括號LeetCode
- 每日一題: 有效括號每日一題
- LeetCode 之 JavaScript 解答第20題 —— 有效的括號(Valid Parentheses)LeetCodeJavaScript
- [Go 演算法]20:有效括號(棧)Go演算法
- 括號生成-LeetCode22LeetCode
- leetcode:遞迴:括號生成LeetCode遞迴
- [LeetCode] Generate Parentheses 生成括號LeetCode
- 【leetcode】32. Longest Valid Parentheses 最長的有效匹配括號子串長度LeetCode
- 演算法題:判斷括號字串是否有效演算法字串
- 理解正規表示式中的括號 (),方括號 [] 和大括號 {}
- LeetCode 3: PairsOfParentheses (括號匹配問題)LeetCodeAI
- LeetCode-022-括號生成LeetCode
- [LeetCode] Valid Parentheses 驗證括號LeetCode
- LeetCode - 22. 括號的生成(遞迴)1LeetCode遞迴
- Python有效括號字串判斷和深度計算Python字串
- 讓我們一起啃演算法----有效的括號演算法
- c++物件建立帶括號與無括號的區別C++物件
- JavaScript中圓括號()和方括號[]的一個特殊用法JavaScript
- 【leetcode】22. Generate Parentheses 合法括號串的所有組合LeetCode
- Matlab中的括號()[]{}Matlab
- 括號畫家
- 【棧】括號匹配
- JSON 字串中的中括號和大括號區別詳解JSON字串
- JavaScript 函式呼叫時帶括號和不帶括號的區別JavaScript函式
- 【leetcode】leetcode22括號生成通過程式碼及題解LeetCode
- [PHP字串]②--花括號{}的作用PHP字串
- Shell 括號總結
- Swift之花括號Swift