python 有效的括号
生活随笔
收集整理的這篇文章主要介紹了
python 有效的括号
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
| 有效的括號
給定一個只包括 '(',')','{','}','[',']' 的字符串 s ,判斷字符串是否有效。有效字符串需滿足:左括號必須用相同類型的右括號閉合。 左括號必須以正確的順序閉合。示例 1:輸入:s = "()" 輸出:true 示例 2:輸入:s = "()[]{}" 輸出:true 示例 3:輸入:s = "(]" 輸出:false 示例 4:輸入:s = "([)]" 輸出:false 示例 5:輸入:s = "{[]}" 輸出:true| 題解
class Solution:def isValid(self, s: str) -> bool:"""解題思路:通過棧技術解題,遍歷字符串,如果沒有反括號(`)`,`}`, `]`) 就不停的入棧,直到遇到反括號就判斷棧頂元素是否與反括號是一對,如果不是一對,直接返回False,如果是一對,則彈出棧頂元素,依次類推,遍歷結束。再判斷棧中是否為空,如果為空,返回True,否則返回False"""self.stack = list()for i in s:if i in [')', ']', '}']:if self.stack and self.stack[-1] + i in ['()', '{}', '[]']:self.stack.pop()else:return Falseelse:self.stack.append(i)return False if self.stack else True總結
以上是生活随笔為你收集整理的python 有效的括号的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 栈排序
- 下一篇: python 最小栈