合法的括號

2021-07-10 07:36:44 字數 502 閱讀 6543

給定字串,只包含以下括號:'(', ')', '', '[' and ']' , 判斷輸入是否合法。括號匹配必按照要求:"()" and "(){}", 而不是 "(]" and "([)]"

格式:

輸入包含多行,每一行輸入乙個長度不超過80的字串,直到遇到結束符為止。每一行輸入只包含以上括號,如果合法,輸出true,否則false。

輸入:

((((({{{]]]]]]

輸出:

false

//解題思路:逐個遍歷,如果遇到左括號就壓入堆疊,遇到右括號就出棧,這樣的話如果最後棧是空的就說明合法,否則就不合法

#include#includeusing namespace std;

int main()

{ char s[100],a[100];

int top,sum;

top=-1;//表示棧底

cin>>a;

for(int i=0;i

生成合法的括號

給定乙個數字n,生成包含2n括號的合法序列 n 3 public listgenerateparenthesis int n private void generateall char chars,listres,int pos return chars pos generateall chars,...

合法括號序列

合法括號序列 鍵盤上有左括號 右括號 和退格鍵 共三個鍵。牛牛希望按鍵n次,使得輸入的字串恰好乙個合法的括號序列。每按一次左括號 字串末尾追加乙個左括號 每按一次右括號 字串末尾追加乙個右括號 每按一次退格鍵 會刪掉字串的最後乙個字元,特別的,如果字串為空,牛牛也可以按退格,但是什麼都不會發生。輸出...

最長合法括號

給乙個只由 和 組成的字串,找出其中最長的連續合法子串長度。leetcode input output 2 input output 4 input output 4很明顯,可以用動態規劃,我也是這麼想的。構建dp len len dp i j 表示以i開頭,j結尾的子串中最長子串。s表示字串,然後...