zl程序教程

您现在的位置是:首页 >  其他

当前栏目

leetcode 有效的括号

LeetCode 有效 括号
2023-09-14 09:15:50 时间

给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。

有效字符串需满足:

左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。

示例 1:

输入:s = “()”
输出:true
示例 2:

输入:s = “()[]{}”
输出:true
示例 3:

输入:s = “(]”
输出:false
示例 4:

输入:s = “([)]”
输出:false
示例 5:

输入:s = “{[]}”
输出:true

提示:

1 <= s.length <= 104
s 仅由括号 ‘()[]{}’ 组成

class Solution(object):
    def isValid(self, s):
        """
        :type s: str
        :rtype: bool
        """
        
        key={'(':1,')':1,'[':2,']':2,'{':3,'}':3}
        t=list(s)
        n=len(t)
        if n%2==1:
           return False
        else:
            l=[]
            r=[]
            for k in range(0,n,2):
                l.append(t[k])
                r.append(t[k+1])
            print(l)
            print(r)
            l=[key[k] for k in l]
            r=[key[k] for k in r]
            if l==r:
                return True
            elif[key[k] for k in t[:n/2]] ==[key[k] for k in t[n/2:]]:
                return True
            else:
                return False