描述
給定乙個由 『(』 和 『)』 括號組成的字串 s,我們需要新增最少的括號( 『(』 或是 『)』,可以在任何位置),以使得到的括號字串有效。
從形式上講,只有滿足下面幾點之一,括號字串才是有效的:
它是乙個空字串,或者
它可以被寫成 ab (a 與 b 連線), 其中 a 和 b 都是有效字串,或者
它可以被寫作 (a),其中 a 是有效字串。
給定乙個括號字串,返回為使結果字串有效而必須新增的最少括號數。
示例 1:
輸入:"())"
輸出:1
示例 2:
輸入:"((("
輸出:3
示例 3:
輸入:"()"
輸出:0
示例 4:
輸入:"()))(("
輸出:4
s.length <= 1000
s 只包含 『(』 和 『)』 字元。
思路解法一:
遇到左括號入棧
遇到右括號
若棧不為空且棧頂為左括號,出棧乙個元素
否則(棧為空或棧頂為右括號),入棧
class
solution
}return st.
size()
;}};
解法二:
class
solution
return left+res;
//加上最後沒有被消掉的左括號}}
;
LeetCode921 使括號有效的最少新增
給定乙個由 和 括號組成的字串 s,我們需要新增最少的括號 或是 可以在任何位置 以使得到的括號字串有效。從形式上講,只有滿足下面幾點之一,括號字串才是有效的 它是乙個空字串,或者 它可以被寫成 ab a 與 b 連線 其中 a 和 b 都是有效字串,或者 它可以被寫作 a 其中 a 是有效字串。給...
921 使括號有效的最少新增
給定乙個由 和 括號組成的字串 s,我們需要新增最少的括號 或是 可以在任何位置 以使得到的括號字串有效。從形式上講,只有滿足下面幾點之一,括號字串才是有效的 它是乙個空字串,或者 它可以被寫成 ab a 與 b 連線 其中 a 和 b 都是有效字串,或者 它可以被寫作 a 其中 a 是有效字串。給...
921 使括號有效的最少新增 python
給定乙個由 和 括號組成的字串 s,我們需要新增最少的括號 或是 可以在任何位置 以使得到的括號字串有效。從形式上講,只有滿足下面幾點之一,括號字串才是有效的 給定乙個括號字串,返回為使結果字串有效而必須新增的最少括號數。示例 1 輸入 輸出 1示例 2 輸入 輸出 3示例 3 輸入 輸出 0示例 ...