LeetCode 8 有效的括號

2022-09-14 03:57:09 字數 1481 閱讀 8907

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

有效字串需滿足:

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

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

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

示例 1:

輸入:"()"輸出:true
示例 2:

輸入:"(){}"輸出:true
示例 3:

輸入:"(]"輸出:false
示例 4:

輸入:"([)]"輸出:false
示例 5:

輸入:""輸出:true

思路:用棧的資料結構,給定乙個字串,首先判斷是不是乙個空串,如果是空串返回true。進入迴圈如果這個棧是空的,將字元插入棧中,如果這個棧不是空的,判斷這個字元和棧尾的字元是否配套,如果配套則移除棧尾字元並且跳過這次迴圈

如果這個字元是右括號而且和棧尾字元不配套,返回false,剩餘情況(例如插入的是兩個『(』『【』字元)就是插入這個字元。最後迴圈完之後,如果棧中是空的則返回true否則返回false。

**:

class

solution

else

if (mystack.getnelement() > 0) ' && c2 != '

else

if (c1 == ')' && c2 == '(' || c1 == '}' && c2 == '

else

mystack.insert(s.charat(i));}}

if (mystack.getnelement() == 0) return

true

;

return

false

; }

class

mystack

public

void insert(char

c)

public

char

remove()

public

char

getendelement()

public

intgetnelement()

public

char getchar(inti)}

}

LeetCode 8 有效的括號 (棧)

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

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...