LeetCode 06 20有效的括號

2021-10-09 04:45:43 字數 948 閱讀 9189

給定乙個只包括 『(』,』)』,』』,』[』,』]』 的字串,判斷字串是否有效。

有效字串需滿足:

左括號必須用相同型別的右括號閉合。

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

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

示例 1:

輸入: 「()」

輸出: true

示例 2:

輸入: 「(){}」

輸出: true

示例 3:

輸入: 「(]」

輸出: false

示例 4:

輸入: 「([)]」

輸出: false

示例 5:

輸入: 「」

輸出: true

思路挺簡單的,就是乙個棧和佇列的應用。在這道題我使用了deque,這裡有一些具體的使用方法。請戳這裡。

把括號的型別以鍵值對的方式儲存到map中,遍歷迴圈字串中的每個字元,看他是否在map的key值中,如果不在,則新增進去。【看**更易理解】

如果在,則看這個佇列是否為空,以及佇列的最後乙個字元是否等於maps中的ch對應的值,若不為空,並且等於 ,則移出隊尾字元。

public

static

boolean

isvalid

(string s)

deque

deque =

newarraydeque

(); map

maps =

newhashmap

();

maps.

put(

']',

'[')

; maps.

put(

'}',

'else

}else

}return deque.

isempty()

;}

leetcode 有效的括號

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

leetcode 有效的括號

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

LeetCode 有效的括號

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