給定乙個只包括 '(',')','','[',']' 的字串 s ,判斷字串是否有效。
有效字串需滿足:
左括號必須用相同型別的右括號閉合。
左括號必須以正確的順序閉合。
示例 1:
輸入:s = "()"
輸出:true
示例 2:
輸入:s = "(){}"
輸出:true
示例 3:
輸入:s = "(]"
輸出:false
示例 4:
輸入:s = "([)]"
輸出:false
示例 5:
輸入:s = ""
輸出:true
解題思路:
這道題看到別人的思路,瞬間跪了。
簡直不能太牛,自己就不獻醜了。
外面乙個大while迴圈,判斷字串中是否包含() {},只要包含其中任意乙個則進入迴圈。
迴圈中,將成對的() {}全部替換成空字串,一直到找不到成對的。
最後直接判斷替換之後的字串是否為空,如果不為空,說明存在不成對的括號。
牛掰!
1class
solution(object):
2def
isvalid(self, s):
3"""
4:type s: str
5:rtype: bool
6"""
7while"()
"in s or"
"in s or"{}
"ins:8 s = s.replace("
()", ""
)9 s = s.replace("
", ""
)10 s = s.replace("
{}", "")11
return s == ""
演算法程式設計4 有效的括號
class solution def isvalid self,s a 包含括號的型別 b 空列表 for i in s 遍歷給定括號字串 if not b 若列表b為空,將當前字元新增到列表b中 else 若b不空 if b 1 i in a 判斷前一字元和當前字元是否為完整括號 b.pop 如果...
LeetCode學習記錄(4) 有效的括號
給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true示例 2 輸入 輸出 true示例 3 輸入 輸出 false示例 4 輸入 輸出 false示例 5 輸入 輸出 tr...
有效的括號
題目描述 給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。解題思路 坦白來講這道題真的沒什麼思路,掉的坑也比較多,因為審題不認真,最後的一句話,注意空字串可被認為是有效字串。被吃掉了 最後提交的 執...