日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

23/100. Valid Parentheses

發布時間:2024/1/17 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 23/100. Valid Parentheses 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.



給定一個字符串s,它只包括“(”、“)”、“[”、“]”、“{”、“}”,判斷該字符串是否合法。

使用棧的數據結構(先進后出),其實就是Python里的list列表。
①若長度為奇數個,該字符串不合法,返回False。
②若長度為偶數個:
若為右邊的括號,且正好和前面一個字符匹配,則刪除前一個字符;
若為左邊的括號,則添加到列表的末尾;
否則,則返回False。
③最后,若L為空,則返回True。

class Solution:def isValid(self, s):""":type s: str:rtype: bool"""if not s:return Truelength = len(s)if length%2 != 0: #奇數個return FalseL = [s[0]]i = 1while i<length:if s[i]==')' and L[-1]=='(':L.pop()elif s[i]==']' and L[-1]=='[':L.pop()elif s[i]=='}' and L[-1]=='{':L.pop()elif s[i]=='(' or s[i]=='[' or s[i]=='{':L.append(s[i])else:return Falsei += 1if not L:return Trueelse:return False

其它思路:
使用字典dict。

paren = {'[':']', '(':')', '{':'}'} valid = []for i in s:if i not in paren:if not valid or i!=paren[valid[-1]]:return Falsevalid.pop()else:valid.append(i) return valid == []

總結

以上是生活随笔為你收集整理的23/100. Valid Parentheses的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。