題目描述:
給定乙個只包括 '(',')','','[',']' 的字串,判斷字串是否有效。
有效字串需滿足:
左括號必須用相同型別的右括號閉合。
左括號必須以正確的順序閉合。
注意空字串可被認為是有效字串。
示例 1
:輸入:
"()"
輸出:true
示例 2
:輸入:
"(){}"
輸出:true
示例 3
:輸入:
"(]"
輸出:false
示例 4
:輸入:
"([)]"
輸出:false
示例 5
:輸入:
""輸出:
true
解題思路:
括號配對不是兩個相鄰的括號配對的問題 ,而是乙個整體的配對問題
這就用到了資料結構中的棧的應用
1.當遇到左括號的時候就讓括號入棧
2.當遇到右括號的時候判斷是否與棧頂元素匹配,如果匹配,棧頂元素出棧,如果不匹配,那麼肯定是不配對的
3.如果都配對完了之後,檢查棧中是否還有沒有元素,如果有,則配對失敗,如果沒有,則配對成功
**如下:
public
class
solution
else
if(arr[i]
.equals
(")"))
else
}else
if(arr[i]
.equals
("}"))
else
}else
if(arr[i]
.equals
("]"))
else}}
if(v.
isempty()
)else
}public
static
void
main
(string[
] args)
LeetCode20有效括號
給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true示例 2 輸入 輸出 true示例 3 輸入 輸出 false示例 4 輸入 輸出 false示例 5 輸入 輸出 tr...
Leetcode 20 有效括號
leetcode 20 給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true 示例 2 輸入 輸出 true pthon 列表 如 a a b 字典 如 dict not ...
leetcode 20 有效括號
怎麼減少if語句,判斷是否是某乙個值,將值存進map中,是否在map中,若在,則是 匹配用map 給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true 示例 2 輸入 輸出...