LeetCode 20 有效的括號

2022-06-29 16:51:09 字數 1684 閱讀 7269

1. 題目描述

獲取字串的長度

4if n == 0:#

如果長度為0,則表示空串,本題認為是合法的串

5return

true

6if n % 2 == 1:#

如果是奇數個括號,則必然不合法

7return

false

8 stack = #

定義乙個列表用來模擬棧

9for c in s:#

迴圈字串中的每個字元

10if c == '('

or c == '':

21if len(stack) >0:

22if stack[-1] == '')

26else:27

return

false

28elif c == ']'

:29if len(stack) >0:

30if stack[-1] == '['

:31 stack.pop(-1)

32else:]

')34else:35

return

false

36if len(stack) == 0:#

如果棧可以左右都匹配(成對消除)

37return true#

則是合法串

38else:39

return false

思路: 

1.左右匹配, 就相當於1進1出, 最後棧的長度為0, 返回真.

2. 如果都不匹配, 就都入棧, 最後棧的長度不等於0, 返回false.

3. 如果是示例5, 就是先 也是同樣的道理.

3.整理

3.1 列表

1 list1 = ['

google

', '

runoob

', 1997, 2000]

2 list2 = [1, 2, 3, 4, 5]

3 list3 = ["

a", "

b", "

c", "d"

]4 list4 = ['

red', '

green

', '

blue

', '

yellow

', '

white

', '

black

']

3.2 元組

1 tup1 = ('

google

', '

runoob

', 1997, 2000)

3.3 棧, 後進先出.

list模擬棧,進入順序0 1 2 3,出棧順序3 2 1 0

list(-1)表示棧頂元素.

LeetCode20有效括號

給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true示例 2 輸入 輸出 true示例 3 輸入 輸出 false示例 4 輸入 輸出 false示例 5 輸入 輸出 tr...

Leetcode 20 有效括號

leetcode 20 給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true 示例 2 輸入 輸出 true pthon 列表 如 a a b 字典 如 dict not ...

leetcode 20 有效括號

怎麼減少if語句,判斷是否是某乙個值,將值存進map中,是否在map中,若在,則是 匹配用map 給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true 示例 2 輸入 輸出...