python 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。
class Solution(object):
    def isValid(self, s):
        """
        :type s: str
        :rtype: bool
        """
        if len(s)%2 != 0 or len(s)<2:
            if s == "":
                return True
            else:    
                return False
        count = 0
        while(count<int(len(s)/2)):
            s1=s.replace('()',"").replace('[]',"").replace('{}',"")
            count+=1
        if len(s1)>0:
            return False
        else:
            return True

s='([])'
为什么s1始终是'()'
count=2
经过循环,s中的([])都被replace成了''吗

2个回答

s1=s.replace('[]', '').replace('()', '').replace('{}', '')
注意replace 的顺序

replace 不会改变原 string 的内容
得用a=a.replace(oldstr,newstr)

weixin_42428631
Ice_bling s=s.replace('()',"").replace('[]',"").replace('{}',"")
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问