描述:
給定乙個字串所表示的括號序列,包含以下字元:'(', ')'
,''
,'['
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...