nyoj2 括號配對問題 3種做法

2021-08-16 14:36:51 字數 1101 閱讀 8825

時間限制:

3000 ms  |  記憶體限制:

65535 kb

難度:3描述

現在,有一行括號序列,請你檢查這行括號是否配對。 輸入

第一行輸入乙個數n(0輸出

每組輸入資料的輸出佔一行,如果該字串中所含的括號是配對的,則輸出yes,如果不配對則輸出no

樣例輸入

3

[(])

(])([()])

樣例輸出

no

noyes

**

第一種做法: 棧

#include#include#include#includeusing namespace std;

struct sstack

;void initstack(sstack &s)//建立棧

bool isemptystack(sstack &s)//判斷棧是否為空

int pushstack(sstack &s,char c)//入棧

int popstack(sstack &s)//出棧

char topstack(sstack &s)//輸出棧頂元素

int main()

if(i>1)

printf("no\n");//最後檢查陣列中是否存入了括號,有就是有括號不配對

else

printf("yes\n");

}return 0;

}第三種:指標 難理解

#include#includeint judge(char *p)

if(*ptmp==']')

}if(yy)//([)

return -1;

} if(yy)

if(*ptmp==']')

}if(xx)

return -1;}}

return 0;

}int main()

j++;

} if(x==0 && y==0)//先初步判斷括號是否成對

else

printf("no\n");

} return 0;

}

nyoj2 括號配對問題 棧 三種做法

時間限制 3000 ms 記憶體限制 65535 kb 難度 3描述 現在,有一行括號序列,請你檢查這行括號是否配對。輸入 第一行輸入乙個數n 0輸出 每組輸入資料的輸出佔一行,如果該字串中所含的括號是配對的,則輸出yes,如果不配對則輸出no 樣例輸入 3 樣例輸出 no noyes 第一種做法 ...

NYOJ 2 括號配對問題

第一次用棧來寫的 早上隊長講了一下,了解了下基礎,覺得c 的棧可以直接呼叫,c的棧卻要自己定義,還是該花時間好好看c 這是用c寫的 includestruct stack void initstack stack a 構造乙個空棧 void push stack a,char item 往棧裡面插入...

NYOJ 2 括號配對問題

時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 現在,有一行括號序列,請你檢查這行括號是否配對。輸入第一行輸入乙個數n 0輸出 每組輸入資料的輸出佔一行,如果該字串中所含的括號是配對的,則輸出yes,如果不配對則輸出no 樣例輸入 3 樣例輸出 no noyesv.back ...