Home > Backend Development > PHP Problem > How to remove the outermost parentheses in php

How to remove the outermost parentheses in php

coldplay.xixi
Release: 2023-03-05 13:06:02
Original
2072 people have browsed it

php method to remove the outermost parentheses: first perform primitive decomposition on the non-empty valid string S; then obtain the valid bracket string primitive; then delete and decompose the most primitive string of each primitive string Outer brackets; finally return the string S.

How to remove the outermost parentheses in php

Related learning recommendations: php graphic tutorial

php method to remove the outermost parentheses:

The valid bracket string is empty (""), "(" A ")" or A B, where A and B are both is a valid bracketed string, representing the concatenation of strings. For example, "", "()", "(())()" and "(()(()))" are all valid bracket strings.

If the valid string S is non-empty and there is no way to split it into S = A B, we call it a primitive, where A and B are both non-empty valid bracket strings.

Given a non-empty valid string S, consider decomposing it into primitives such that: S = P_1 P_2 ... P_k, where P_i is a valid bracket string primitive.

Perform primitive decomposition on S, delete the outermost brackets of each primitive string in the decomposition, and return S.

Example 1:

Input: "(()())(())"

Output: "()()()"

Explanation:

The input string is "(()())(())", and the primitive decomposition is "(() ())" "(())",

After deleting the outermost bracket in each part, we get "()()" "()" = "()()()".

Example 2:

Input: "(()())(())(()(()))"

Output: "()()()()(())"

Explanation:

The input string is "(()())(()) (()(()))", primitive decomposition yields "(()())" "(())" "(()(()))",

Delete every other part After the outermost bracket in , we get "()()" "()" "()(())" = "()()()()(())".

Example 3:

Input: "()()"

Output: ""

Explanation:

The input string is "()()", and the primitive decomposition is "()" "()".

Delete the outermost brackets in each part Then get "" "" = "".

Tips:

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;
    }
}
Copy after login

Related learning recommendations: php programming (video)

The above is the detailed content of How to remove the outermost parentheses in php. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template