LeetCode 20.有效括号
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 20.有效括号
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原題鏈接
方法一:解題思路,使用棧 +? ?模擬法;首先遍歷將是左括號形式的部分壓入棧中。然后對于右括號形式與棧頂元素進行比對,看是否匹配。如果匹配的話刪除棧頂元素,不匹配直接返回false。最后棧為空則全部的括號匹配,否則返回false。
class Solution { public:bool isValid(string s) {stack<char> tempStack;for(char& c: s){switch(c){case '(':case '{':case '[': tempStack.push(c);break;case ')':if(tempStack.empty() || tempStack.top() !='(')return false;elsetempStack.pop();break;case '}':if(tempStack.empty() || tempStack.top() !='{')return false;elsetempStack.pop();break;case ']':if(tempStack.empty() || tempStack.top() !='[')return false;elsetempStack.pop();break; }} return tempStack.empty(); } };方式二:通過左右括號在ASCII碼中相差不超過2(<=2),通過這一點。可以先將左括號的形式壓入棧中,如果是右括號形式匹配就刪除棧頂元素。如果不匹配直接返回false。最后依然是查看是否棧為空。
class Solution { public:bool isValid(string s) {stack<char> stk;for (auto c : s) {if (c == '(' || c == '[' || c == '{') stk.push(c);else {if (stk.size() && abs(stk.top() - c) <= 2) stk.pop();else return false;}}return stk.empty();} };?
總結
以上是生活随笔為你收集整理的LeetCode 20.有效括号的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 永城市房管局备案查询网站(永城市房管局备
- 下一篇: 安卓标准字体(安卓字体规范)