括號合法性
題目:
給定乙個只包括 『(』,』)』,』』,』[』,』]』 的字串,判斷字串是否有效。
有效字串需滿足:
(1)左括號必須用相同型別的右括號閉合。
(2)左括號必須以正確的順序閉合。
注意空字串可被認為是有效字串。
**如下:
#define _crt_secure_no_warnings 1
#include
#include
#include
#include
//括號配對問題
typedef
struct snode
snode;
typedef
struct ss
ss;void
linkseackinit
(ss *pst)
bool linkstackkong
(ss *pst)
void
linkstackpush
(ss *pst,
char x)
void
linkstackpop
(ss *pst)
snode *p = pst->top->text;
pst->top->text = p->text;
free
(p);
}char
linkstacktop
(ss *pst)
bool isvalid
(char
*s)'
&&s[i]
!='('
&&s[i]
!=')'
&&s[i]
!='['
&&s[i]
!=']')if
(s[i]
==''
)return false;
else
if(top ==
'['&&s[i]
!=']'
)return false;
else
if(top ==
'('&&s[i]
!=')'
)return false;
else
linkstackpop
(&sch);}
i++;}
bool flag =
linkstackkong
(&sch)
;return flag;
}int
main()
else
printf
("您輸入的括號是不合法的!\n");
return0;
}
出棧合法性
題目描述 已知自然數1,2,n 1 n 100 依次入棧,請問序列c1,c2,cn是否為合法的出棧序列。輸入包含多組測試資料。每組測試資料的第一行為整數n 1 n 100 當n 0時,輸入結束。第二行為n個正整數,以空格隔開,為出棧序列。對於每組輸入,輸出結果為一行字串。如給出的序列是合法的出棧序列...
出棧的合法性
1788 出棧合法性 時間限制 1 sec 記憶體限制 32 mb 提交 153 解決 60 提交 狀態 討論版 題目描述 已知自然數1,2,n 1 n 100 依次入棧,請問序列c1,c2,cn是否為合法的出棧序列。輸入 輸入包含多組測試資料。每組測試資料的第一行為整數n 1 n 100 當n 0...
判斷出入棧的合法性
本篇部落格闡述內容 假設入棧序列是 出棧序列是 那麼我們讓入棧序列入棧,1先入,看一看第乙個出棧的是不是1,不是繼續將2壓棧,直到1,2,3,4入棧,4和出棧序列的第乙個匹配到了,我們將入棧的 4 pop掉,然後繼續和出棧序列的第二個匹配,看看是否需要出棧,如不需要,繼續壓棧,以此類推,直到入棧序列...