simple_20_validate_ bracket
2023-07-25 08:23 作者:reacherway | 我要投稿

題目描述:
給定一個(gè)只包括?'('
,')'
,'{'
,'}'
,'['
,']'
?的字符串?s
?,判斷字符串是否有效。
有效字符串需滿足:
左括號(hào)必須用相同類型的右括號(hào)閉合。
左括號(hào)必須以正確的順序閉合。
每個(gè)右括號(hào)都有一個(gè)對(duì)應(yīng)的相同類型的左括號(hào)。
其中有幾種情況是不對(duì)的。
([)] ?混合閉合
)( ?先右后左
) 單個(gè)
思路: 使用棧(先進(jìn)后出)的數(shù)據(jù)結(jié)構(gòu),當(dāng)遇到右括號(hào)的時(shí)候,判斷當(dāng)前棧中有沒(méi)有其對(duì)應(yīng)的左括號(hào),如果有就出棧,如果沒(méi)有就返回false。當(dāng)遇到左括號(hào)的時(shí)候,入棧。最后,棧中還有數(shù)據(jù)和單個(gè)都是返回false。