leetcode 有效的括號

2021-10-08 06:34:58 字數 1160 閱讀 4690

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

有效字串需滿足:

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

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

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

示例 1:

輸入: 「()」

輸出: true

示例 2:

輸入: 「(){}」

輸出: true

示例 3:

輸入: 「(]」

輸出: false

示例 4:

輸入: 「([)]」

輸出: false

示例 5:

輸入: 「」

輸出: true

在講解這道題的時候我們先了解以下什麼是棧結構。

棧是乙個很重要的結構,他遵循先進後出的原則在很多任務程中都會用到。我們熟悉的遞迴其實也就是壓棧的過程,系統將這次程式的全部資訊壓入到棧中,在執行自身的下一次程式,等到不滿足遞迴條件的時候在逐層接著往下執行。

假設有這樣乙個程式,輸入乙個數,不斷的讓這個數減到0,如果不為0就重新執行自身直到0為止就返回(當讓這個題正常用迴圈就可以做,迴圈也是比遞迴更佳的方法,但是為了通過遞迴講解棧結構才引用的)

這個就是遞迴的時候壓棧和彈棧的過程,如果乙個程式可以使用for迴圈來做這是很好的,因為在壓棧的過程中,不僅僅壓入的是num的值,還有一些其他的東西。所以會比較占用空間。

回到這道題就是使用棧結構來解的。

思路:

class

solution')

;else

}return stk.

empty()

;}};

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 本題需使用棧來解決,即遍歷字串,遇到左括號...