Heim >Backend-Entwicklung >PHP-Problem >So entfernen Sie die äußersten Klammern in PHP
So entfernen Sie die äußersten Klammern in PHP: Führen Sie zunächst eine Primitivzerlegung für die nicht leere gültige Zeichenfolge S durch. Anschließend löschen Sie die äußersten Klammern, die jede Primitivzeichenfolge zerlegen.
【Verwandte Lernempfehlungen: php-Grafik-Tutorial】
php-Methode zum Entfernen der äußersten Klammer:
Die gültige Klammerzeichenfolge ist leer (""), " (" + A + ")" oder A + B, wobei A und B beide gültige Zeichenfolgen in Klammern sind und + die Verkettung von Zeichenfolgen darstellt. Beispielsweise sind „“, „()“, „(())()“ und „(()(()))“ gültige Klammerzeichenfolgen.
Wenn die gültige Zeichenfolge S nicht leer ist und es keine Möglichkeit gibt, sie in S = A+B aufzuteilen, nennen wir sie ein Primitiv, wobei A und B beide nicht leere gültige Klammerzeichenfolgen sind.
Wenn eine nicht leere gültige Zeichenfolge S gegeben ist, sollten Sie erwägen, sie in Primitive zu zerlegen, sodass: S = P_1 + P_2 + ... + P_k, wobei P_i ein gültiges in Klammern gesetztes String-Primitiv ist.
Führen Sie eine primitive Zerlegung für S durch, entfernen Sie die äußersten Klammern jeder primitiven Zeichenfolge in der Zerlegung und geben Sie S zurück.
Beispiel 1:
Eingabe: „(()())(())“
Ausgabe: „()()()“
Erklärung:
Die Eingabezeichenfolge ist „( ()())(())“, die primitive Zerlegung ergibt „(()())“ + „(())“,
Nach dem Löschen der äußersten Klammer in jedem Teil erhalten wir „()( )“ + „()“ = „()()()“.
Beispiel 2:
Eingabe: "(()())(())(()(()))"
Ausgabe: "()()()()(()) „
Erklärung:
Die Eingabezeichenfolge ist „(()())(())(()(()))“ und die primitive Zerlegung ist „(()())“ + „(() )“ + „(()(()))“,
Nachdem wir in jedem Teil die äußersten Klammern gelöscht haben, erhalten wir „()()“ + „()“ + „()(())“ = „ ( )()()()(())".
Beispiel 3:
Eingabe: „()()“
Ausgabe: „“
Erklärung:
Die Eingabezeichenfolge ist „()()“ und die primitive Zerlegung ist „() „ + „()“,
Das Entfernen der äußersten Klammer in jedem Teil führt zu „“ + „“ = „“.
Tipps:
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; } }
Verwandte Lernempfehlungen: php-Programmierung (Video)
Das obige ist der detaillierte Inhalt vonSo entfernen Sie die äußersten Klammern in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!