소문자와 브래킷이 포함 된 줄이 주어지면, 가장 안쪽 괄호에서 시작하여 각 일치하는 괄호 쌍의 문자열을 뒤집고 마지막으로 처리 된 결과를 괄호없이 반환하는 것입니다.
S = "(ABCD)"
"DCBA"
s = "(u (love) i)" "
"사랑해요"
설명 : 먼저 하위 문자열 "Love"를 뒤집은 다음 전체 문자열을 뒤집습니다.
s = "(ed (et (et)) el)" "
"leetcode"
설명 : 먼저, 우리는 하위 문자열 "OC", "etco"및 마지막으로 전체 문자열을 뒤집습니다.
스택을 사용하여 괄호와 중첩 구조로 문자를 추적 할 수 있습니다. 특정 단계는 다음과 같습니다.
<?php
// 예 1
echo reverseParentheses("(abcd)") . "\n"; // 산출:"dcba"
// 예 2
echo reverseParentheses("(u(love)i)") . "\n"; // 산출:"iloveu"
// 예 3
echo reverseParentheses("(ed(et(oc))el)") . "\n"; // 산출:"leetcode"
?>
함수 reverseparentheses는 문자열을 입력으로 사용하고 스택을 사용하여 중첩 브래킷을 처리합니다.
마지막으로, 스택의 요소를 연결하여 최종 문자열을 얻습니다. 이 방법은 중첩 브래킷을 효과적으로 처리하고 각 브래킷 쌍의 내용을 반전시킨 후 올바른 문자 순서를 보장 할 수 있습니다.