有效的括號

2021-10-04 02:34:25 字數 744 閱讀 5933

題目描述:

給定乙個只包括 『(』,』)』,』』,』[』,』]』 的字串,判斷字串是否有效。

有效字串需滿足:

左括號必須用相同型別的右括號閉合。

左括號必須以正確的順序閉合。

注意空字串可被認為是有效字串。

思路:首先對陣列進行初步判斷,如果為空,則有效;如果陣列元素有奇數個,或首元素為右括號,則無效;否則,借助乙個棧暫時存放左括號,若遇到右括號且與棧頂元素可配對,則移出棧頂元素。若最終棧為空,則字串有效。

**:

public class solution 

if(s.length%2!=0||s[0]==')'||s[0]==']'||s[0]=='}')

stackstack=new stack();

foreach(var i in s)

else if(i==')')

else

}else if(i==']')

else

}else if(i=='}')

else}}

return stack.count==0;}}

運**況:

總結:最開始想到多次遍歷找對稱子陣列,但是時間和空間複雜度肯定特別大,棧的「先進後出」的特點,卻能很好地解決這個問題。

有效的括號

題目描述 給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。解題思路 坦白來講這道題真的沒什麼思路,掉的坑也比較多,因為審題不認真,最後的一句話,注意空字串可被認為是有效字串。被吃掉了 最後提交的 執...

有效的括號

給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。多組資料 每組是乙個由 組成的括號序列 每組字串長度不超過50。如果有效輸出true,否則輸出false。true true false false ...

有效的括號

給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。多組資料 每組是乙個由 組成的括號序列 每組字串長度不超過50。如果有效輸出true,否則輸出false。true true false false ...