有效的括號

2021-08-28 14:28:51 字數 854 閱讀 7135

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

有效字串需滿足:

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

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

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

示例 1:

輸入: 「()」

輸出: true

示例 2:

輸入: 「(){}」

輸出: true

示例 3:

輸入: 「(]」

輸出: false

示例 4:

輸入: 「([)]」

輸出: false

示例 5:

輸入: 「」

輸出: true

方法:堆疊法

思路:1,括號必須完整存在,並且成閉合狀態,可以被其他括號包含完整,不能只包含一半;

2,直接成對存在其實也就是存乙個取乙個,一進一出;若是多個括號閉合包含狀態的話,就是堆疊的先進後出的情況,這樣才能保證括號完整的被包含;

3,那就將字串轉化成字元陣列,然後遍歷,出現了『(』 『』 『]』 有括號時,就判斷棧頂元素是否為該右括號,若堆疊為空或者不匹配時,就返回false;如果,匹配,那就把棧頂元素移除,繼續迴圈,直到完成遍歷,最後堆疊為空的話,說明完全匹配,返回true即可;

class solution ');

else if (c == '[') temp.push(']');

else

}//temp為空,說明全部配對完成;

return temp.empty();

}}

備註:主要是理解怎麼判斷括號完整性,不能被其他括號半包含,明白堆疊先進後出原理。

有效的括號

題目描述 給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。解題思路 坦白來講這道題真的沒什麼思路,掉的坑也比較多,因為審題不認真,最後的一句話,注意空字串可被認為是有效字串。被吃掉了 最後提交的 執...

有效的括號

給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。多組資料 每組是乙個由 組成的括號序列 每組字串長度不超過50。如果有效輸出true,否則輸出false。true true false false ...

有效的括號

給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。多組資料 每組是乙個由 組成的括號序列 每組字串長度不超過50。如果有效輸出true,否則輸出false。true true false false ...