Python3有效括号问题
生活随笔
收集整理的這篇文章主要介紹了
Python3有效括号问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Python3有效括號問題
原題 https://leetcode-cn.com/problems/valid-parentheses/
給定一個只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判斷字符串是否有效。
有效字符串需滿足:
左括號必須用相同類型的右括號閉合。
左括號必須以正確的順序閉合。
注意空字符串可被認為是有效字符串。
示例 1:
輸入: "()" 輸出: true示例 2:
輸入: "()[]{}" 輸出: true示例 3:
輸入: "(]" 輸出: false示例 4:
輸入: "([)]" 輸出: false示例 5:
輸入: "{[]}" 輸出: true解題:
class Solution:def isValid(self, s: str) -> bool:stack = [] # 只存未被配對的( [ { 遇到配對的直接出棧n = len(s)for i in range(n):w = s[i]if w == ')':length = len(stack)if length == 0 or stack[length - 1] != '(':return Falseelse:stack.pop()elif w == '}':length = len(stack)if length == 0 or stack[length - 1] != '{':return Falseelse:stack.pop()elif w == ']':length = len(stack)if length == 0 or stack[length - 1] != '[':return Falseelse:stack.pop()elif w == '(' or w == '{' or w == '[':stack.append(w)return len(stack) == 0 # 都配對了則棧為空 如果棧不為空則說明未配對總結
以上是生活随笔為你收集整理的Python3有效括号问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 嘴型有哪几种
- 下一篇: Python3最长连续递增序列问题