用乙個變數遍歷陣列,如果:
1.遇到非括號元素返回false;
2.遇到左半邊括號,入棧;
3.遇到右半邊括號,判斷它是否與棧首匹配,是則彈出棧首元素,否則返回false。
最後判斷棧內是否有括號,是則返回false,否則返回true。
class
solution
else
if(s[i]
=='}'
)//右半邊比較
//棧首與當前元素相同,棧首元素出棧;
注意:c++中用到stack函式時需要宣告標頭檔案#include;push():入棧,pop():出棧,empty():是否為空,top():返回棧頂但不刪除成員,size():返回棧內元素個數。(eg;stk.push(2);stk.top();)
20 有效括號
1.題目描述 給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。2.示例 輸入 輸出 true輸入 輸出 false3.思路 可以採用棧來解決,第一步 判斷棧是否空,為空則進乙個括號,若不為空,則判斷當前括號和棧頂元素是否匹配,不...
20 有效的括號
給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true示例 2 輸入 輸出 true示例 3 輸入 輸出 false示例 4 輸入 輸出 false示例 5 輸入 輸出 tr...
20 有效的括號
給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true示例 2 輸入 輸出 true示例 3 輸入 輸出 false示例 4 輸入 輸出 false示例 5 輸入 輸出 tr...