python數據結構--有效的括號


題目來源:中國大學MOOC-北京大學-數據結構與算法python版本

 

題目內容:

給定一個只包括

'(',')','{','}','[',']'

的字符串,判斷字符串是否有效

 

有效字符串需滿足:

  1. 左括號必須用相同類型的右括號閉合。

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

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

 

輸入格式:

一行字符串

 

輸出格式:

True或False,表示該輸入是否為合法括號串

 

輸入樣例1:

([])

輸出樣例1:

True

 

輸入樣例2:

{{)]}

輸出樣例2: 

False

 

時間限制:500ms內存限制:32000kb

 

解法1:

class Solution:
    def isValid(self, s):
        while '{}' in s or '()' in s or '[]' in s:
            s = s.replace('{}', '')
            s = s.replace('[]', '')
            s = s.replace('()', '')
        return s == ''

  

解法2:

class Solution(object):
    def isValid(self, s):
        stack = []
        judge = {'()','[]','{}'}
        for i in s:
            if not stack: 
                stack.append(i)
            else:
                if stack[-1]+i in judge:
                    stack.pop()
                else:
                    stack.append(i)
                    
        return stack == []

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM