堆疊 Lintcode 有效的括號序列

2021-09-30 14:19:24 字數 901 閱讀 5892

描述:

給定乙個字串所表示的括號序列,包含以下字元:'(', ')','','['and']', 判定是否是有效的括號序列。

樣例:

括號必須依照"()"順序表示,"(){}"是有效的括號,但"([)]"則是無效的括號。

''''也是有效的!!!!!

這道題讓我們驗證輸入的字串是否為括號字串,包括大括號,中括號和小括號。這裡我們需要用乙個棧,我們開始遍歷輸入字串,如果當前字元為左半邊括號時,則將其壓入棧中,如果遇到右半邊括號時,若此時棧為空,則直接返回false,如不為空,則取出棧頂元素,若為對應的左半邊括號,則繼續迴圈,反之返回false。

**如下:

class solution ' && parentheses.top() != '

}return parentheses.empty();}};

注:1.parentheses.push()

stl中常見的方法,向資料結構中新增元素

2.棧的簡介,詳見:

2.1 棧的特點

棧(stack)是一種線性儲存結構,它具有如下特點:

棧中的資料元素遵守」先進後出"(first in last out)的原則,簡稱filo結構。

限定只能在棧頂進行插入和刪除操作。

棧頂與棧底:允許元素插入與刪除的一端稱為棧頂,另一端稱為棧底。

壓棧:棧的插入操作,叫做進棧,也稱壓棧、入棧。

彈棧:棧的刪除操作,也叫做出棧。

例如我們有乙個儲存整型元素的棧,我們依次壓棧: 

lintcode 有效的括號序列

給定乙個字串所表示的括號序列,包含以下字元 and 判定是否是有效的括號序列。您在真實的面試中是否遇到過這個題?yes 樣例括號必須依照 順序表示,是有效的括號,但 則是無效的括號。public class solution else if stack.isempty is valid stack....

有效的括號序列 LintCode

給定乙個字串所表示的括號序列,包含以下字元 and 判定是否是有效的括號序列。樣例 括號必須依照 順序表示,是有效的括號,但 則是無效的括號。ifndef c423 h define c423 h include include include include using namespace std...

Lintcode 有效的括號序列

給定乙個字串所表示的括號序列,包含以下字元 and 判定是否是有效的括號序列。括號必須依照 順序表示,是有效的括號,但 則是無效的括號。樣例 1 輸入 輸出 false樣例 2 輸入 輸出 truepython class solution param s a string return wheth...