LeetCode20 有效的括號

2022-06-10 21:21:07 字數 498 閱讀 4394

做這道題之前在《演算法》這本書上看過相似的題目--dijkstra的雙棧判斷四則運算求值法,這道題算簡化版吧一下就想到了用棧這個思路。

利用棧lifo的特性判斷上乙個入棧的字元元素是否是匹配的括號,如果匹配就pop出來,不匹配則入棧。遍歷完char陣列之後判斷棧的size,size是0就是符合要求的括號字串。

以 為例:

1次入棧 

for (char c:s.tochararray()

) else if (match(c, ((character) stack.peek())))else

}if (stack.size()==0)

return false;

}private static boolean match(char c,char matchchar)' & matchchar == '

寫match方法的時候第一次不小心把三種c==左括號情況也寫上了,這樣就導致了諸如""這種形式的也判斷為true了,實際上明顯不符合要求。

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 輸入 輸出...