leetcode刷題第6題 有效的括號

2021-09-13 22:51:11 字數 450 閱讀 2089

題目:給定乙個只包括 『(』,』)』,』』,』[』,』]』 的字串,判斷字串是否有效。

有效字串需滿足:1.左括號必須用相同型別的右括號閉合。2.左括號必須以正確的順序閉合。

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

思路:我的初步想法是用棧。

考察知識點:c++棧的使用

具體見:

**:class solution ')

return false;

for(int i=0;i總結:這個題的情況比較多,需要考慮全面

1.第乙個字元為右括號肯定是false

2.當棧空時,下乙個字元為右括號也是為空

3.字串長度為1也應該是false

如果沒有考慮全面,會報一些看不懂的錯誤,大多是跟位址衝突有關的

注意:我當時用s.length==0作為字串的判空條件,會報錯。應該用s.empty()來判斷。

LeetCode刷題筆記第26題

題目 給定乙個排序陣列,你需要在原地刪除重複出現的元素,使得每個元素只出現一次,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用o 1 額外空間的條件下完成。題目分析 做題之前一定要將題目分析的細緻一些,因為有些條件如果一旦不注意就會造成程式結果出現偏差或者執行不通過...

LeetCode刷題筆記第35題

題目描述 給定乙個排序陣列和乙個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。你可以假設陣列中無重複元素。解題思路 最直接的想法就是使用二分查詢,如果有序陣列中含有與target值相等的元素,直接返回對應的索引值 如果沒有則在查詢完畢之後,返回對應...

Leetcode刷題 有效的括號

思路 先把符號輸入字典,每對符號的左半邊設定為位置,右半邊設定為值,方便後續進行比對。利用出入棧的思想,設定棧stack,將字串中的值cpush入棧直至c不在字典裡。然後再將棧裡的值pop出來與c對比,注意此時pop出來的值是字典的位置索引dic stack.pop 所對應的值應該是符號的右半邊。如...