php去除最外層小括號的方法:首先對非空有效字串S進行原語化分解;然後得到有效括號字串原語;接著刪除分解其中每個原語字串的最外層括號;最後回傳字串S即可。
【相關學習推薦:#php圖文教學##】
php去除最外層小括號的方法:
有效括號字串為空("")、"(" 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:
輸入:"()()"輸出:""
刪除每個部分中的最外層括號後得到"" "" = ""。#########提示:######
S.length <= 10000 S[i] 为 "(" 或 ")" S 是一个有效括号字符串 来源:力扣(LeetCode) class Solution { /** * @param String $S * @return String */ function removeOuterParentheses($S) { $strlen = strlen($S); $str = ''; $sum = 0; $star = 1; for($i=0;$i<$strlen;$i++){ if($S[$i] == '('){ $sum--; }else{ $sum++; } if($sum == 0){ $str.=substr($S,$star,$i-$star); $star = $i+2; } } return $str; } }
以上是php如何去除最外層小括號的詳細內容。更多資訊請關注PHP中文網其他相關文章!