uva673 棧 括號匹配

2021-07-03 03:52:46 字數 504 閱讀 2875

輸入一些由小括號和中括號組成的字串,判斷字串是否正確。

棧的基本應用,水題。自己比較得意的是如何判斷是否匹配。方法是:

little = 『(』 + 『)』;

middle = 『[』 + 『]』;

判斷當前字元和棧頂字元相加是否等於little 或middle

**:

#include 

#include

#include

const

int little = '(' + ')';

const

int middle = '[' + ']';

void judge(char c, char *parenthess, int *top)

}parenthess[(*top)++] = c;

}int main()

if (top == 1)

else}}

return

0;}

UVA 673 括號匹配 棧

如果是乙個合法的序列,每對配對的括號的兩個字元 和 或者 和 一定是相鄰的,每次判斷下該字元是否有配對即可。如果配對,將左括號出棧即可。特別注意 空格也是合法的。ac include includeusing namespace std const int maxn 200 char str max...

UVA 673 (括號的匹配)

有兩種方法 第一種 陣列 思想 觀察可匹配成功的字串可知 找到第乙個i為出括號 那麼與它相匹配的進括號一定是在它左邊i 1 最近的 如果不是第乙個出括號,與它相匹配的進括號一定是在它左邊距離t對已匹配的括號 假設兩者相隔t對已匹配的括號 可把已匹配的括號值設為0,那麼只需找到第乙個不為0的數是否與出...

uva 673 平衡的括號

這道題目要求判斷括號是否平衡。由於是判斷就很簡單了,利用stl裡面的stack棧,遇到 或者 就入棧,遇到 或 就比較出棧。注意下可能輸入空字元 include include include include include include define maxn 200 using namespa...