類別
字串處理
時間限制
2s記憶體限制
1000kb
問題描述
表示式中的合法括號為「(」、「)」、「[」、「]」、「」,這三種括號可以按照任意的次序巢狀使用。
請寫乙個程式,判斷給定表示式中的括號是否匹配,既左右括號順序和數量都匹配。
輸入說明
輸入為乙個表示式字串,長度不超過50。
輸出說明
對輸入的表示式,若其中的括號是匹配的,則輸出「yes」,否則輸出「no」。
輸入樣例
樣例1輸入
[(d+f)*{}2]
樣例2輸入
[(2+3))
輸出樣例
樣例1輸出
yes樣例2輸出
no
#include
#include
intmain()
}else
if(str[i]
==']')}
else
if(str[i]
=='}')}
if(flag==1)
break;}
if(flag==1)
printf
("no");
else
if(flag==
0&&a==
0&&b==
0&&c==0)
printf
("yes");
else
printf
("no");
}
–此處只考慮了括號匹配
但是沒有考慮括號的正確順序
比如] 這樣在這題裡過了,但是實際上是不對的
想要排除這種情況,就要用棧來實現。
XDOJ1133 括號匹配
description 給你乙個字串,只含有 和 然後你判斷一下是否合法 input 有多組資料,每組資料一行字串s s 100 如題目所述 output 如果合法則輸出yes,否則輸出no。sample input sample output yesno解題思路 這主要考察棧這種資料結構,這裡我沒...
列印匹配括號
開始抽空做一些演算法題,留下記錄作為菜鳥的成長見證吧。這道題來自於cracking the coding interview,要求列印n對括號的所有可能匹配。我採用遞迴來做,這樣編寫比較方便而且容易弄懂,但用迭代應該會效率快不少而且遞迴一定能轉換成迭代吧,以後有空研究下 如下 include std...
括號匹配(二)
時間限制 1000 ms 記憶體限制 65535 kb 難度 6 描述 給你乙個字串,裡面只包含 四種符號,請問你需要至少新增多少個括號才能使這些括號匹配起來。如 是匹配的 是匹配的 是不匹配的 是不匹配的 輸入第一行輸入乙個正整數n,表示測試資料組數 n 10 每組測試資料都只有一行,是乙個字串s...