<?php/**1021. 刪除最外層的括號
有效括號字串為空 ("")、"(" + a + ")" 或 a + b,其中 a 和 b 都是有效的括號字串,+ 代表字串的連線。例如,"","()","(())()" 和 "(()(()))" 都是有效的括號字串。
如果有效字串 s 非空,且不存在將其拆分為 s = a+b 的方法,我們稱其為原語(primitive),其中 a 和 b 都是非空有效括號字串。
給出乙個非空有效字串 s,考慮將其進行原語化分解,使得:s = p_1 + p_2 + ... + p_k,其中 p_i 是有效括號字串原語。
對 s 進行原語化分解,刪除分解中每個原語字串的最外層括號,返回 s 。
示例 1:
輸入:"(()())(())"
輸出:"()()()"
解釋:輸入字串為 "(()())(())",原語化分解得到 "(()())" + "(())",
刪除每個部分中的最外層括號後得到 "()()" + "()" = "()()()"。
示例 2:
輸入:"(()())(())(()(()))"
輸出:"()()()()(())"
解釋:輸入字串為 "(()())(())(()(()))",原語化分解得到 "(()())" + "(())" + "(()(()))",
刪除每個部分中的最外層括號後得到 "()()" + "()" + "()(())" = "()()()()(())"。
示例 3:
輸入:"()()"
輸出:""
解釋:輸入字串為 "()()",原語化分解得到 "()" + "()",
刪除每個部分中的最外層括號後得到 "" + "" = ""。 */
class
solution
if ($s[$i] == ')' && --$num > 0)
}return$s;
}}$solution = new
solution();
$str = "()()";
var_dump($solution->removeouterparentheses($str
));/*
$i = 0 num = 1
$i = 1 num = 2 (
$i = 2 num = 1 ()
$i = 3 num = 2 ()(
$i = 4 num = 1 ()()
$i = 5 num = 0 ()()
$i = 6 num = 1 ()()
$i = 7 num = 2 ()()(
$i = 8 num = 1 ()()()
$i = 9 num = 0 ()()()
*/
1021 刪除最外層的括號
有效括號字串為空 a 或 a b,其中 a 和 b 都是有效的括號字串,代表字串的連線。例如,和 都是有效的括號字串。如果有效字串 s 非空,且不存在將其拆分為 s a b 的方法,我們稱其為原語 primitive 其中 a 和 b 都是非空有效括號字串。給出乙個非空有效字串 s,考慮將其進行原語...
1021 刪除最外層的括號
有效括號字串為空 a 或 a b,其中 a 和 b 都是有效的括號字串,代表字串的連線。例如,和 都是有效的括號字串。如果有效字串 s 非空,且不存在將其拆分為 s a b 的方法,我們稱其為原語 primitive 其中 a 和 b 都是非空有效括號字串。給出乙個非空有效字串 s,考慮將其進行原語...
1021 刪除最外層的括號
有效括號字串為空 a 或 a b,其中 a 和 b 都是有效的括號字串,代表字串的連線。例如,和 都是有效的括號字串。如果有效字串 s 非空,且不存在將其拆分為 s a b 的方法,我們稱其為原語 primitive 其中 a 和 b 都是非空有效括號字串。給出乙個非空有效字串 s,考慮將其進行原語...