力扣——使括號有效的最少添加
阿新 • • 發佈:2019-03-08
turn return 之一 har spa -- col color 括號
給定一個由 ‘(‘
和 ‘)‘
括號組成的字符串 S
,我們需要添加最少的括號( ‘(‘
或是 ‘)‘
,可以在任何位置),以使得到的括號字符串有效。
從形式上講,只有滿足下面幾點之一,括號字符串才是有效的:
- 它是一個空字符串,或者
- 它可以被寫成
AB
(A
與B
連接), 其中A
和B
都是有效字符串,或者 - 它可以被寫作
(A)
,其中A
是有效字符串。
給定一個括號字符串,返回為使結果字符串有效而必須添加的最少括號數。
示例 1:
輸入:"())" 輸出:1
示例 2:
輸入:"(((" 輸出:3
示例 3:
輸入:"()" 輸出:0
示例 4:
輸入:"()))((" 輸出:4
提示:
S.length <= 1000
S
只包含‘(‘
和‘)‘
字符。
class Solution { public int minAddToMakeValid(String S) { int l=0; int r=0; for (char c : S.toCharArray()) { if (c == ‘(‘) { l++; }else if (c == ‘)‘) {if (l>0) { l--; }else { r++; } } } return l + r; } }
力扣——使括號有效的最少添加