PHP에서 가장 바깥쪽 괄호를 제거하는 방법

coldplay.xixi
풀어 주다: 2023-03-05 13:06:02
원래의
2002명이 탐색했습니다.

PHP에서 가장 바깥쪽 괄호를 제거하는 방법: 먼저 비어 있지 않은 유효한 문자열 S에 대해 기본 분해를 수행한 다음 유효한 대괄호 문자열 기본을 얻은 다음 각 기본 문자열을 분해하는 가장 바깥쪽 괄호를 삭제합니다.

PHP에서 가장 바깥쪽 괄호를 제거하는 방법

관련 학습 권장 사항: php 그래픽 튜토리얼

php 가장 바깥쪽 괄호를 제거하는 방법:

유효한 대괄호 문자열은 비어 있습니다(""), " (" + A + ")" 또는 A + B. 여기서 A와 B는 모두 유효한 대괄호로 묶인 문자열이고 +는 문자열의 연결을 나타냅니다. 예를 들어, "", "()", "(())()" 및 "(()(()))"는 모두 유효한 대괄호 문자열입니다.

유효한 문자열 S가 비어 있지 않고 이를 S = A+B로 분할할 수 있는 방법이 없으면 이를 기본 요소라고 부릅니다. 여기서 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 = &#39;&#39;;
        $sum = 0;
        $star = 1;
        for($i=0;$i<$strlen;$i++){
            if($S[$i] == &#39;(&#39;){
                $sum--;
            }else{
                $sum++;
            }
            if($sum == 0){
                $str.=substr($S,$star,$i-$star);
                $star = $i+2;
            }
        }
        return $str;
    }
}
로그인 후 복사

관련 학습 권장 사항: php 프로그래밍(동영상)

위 내용은 PHP에서 가장 바깥쪽 괄호를 제거하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!