小文字と括弧を含む文字列が与えられているため、タスクは、最も内側のブラケットから開始し、一致するブラケットの各ペアの文字列を逆にし、最後にブラケットなしで処理された結果を返すことです。
s = "(abcd)"
「DCBA」
s = "(u(love)i)"
"あなたを愛してます"
説明:最初にサブストリング「愛」を反転させ、次に文字列全体を逆にします。
s = "(ed(et(oc))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"
?>関数のリバースパパレンツは、文字列を入力として取り、スタックを使用してネストされたブラケットを処理します。
最後に、スタック内の要素を連結して最終文字列を取得します。この方法は、ネストされたブラケットを効果的に処理し、ブラケットの各ペアの内容を反転した後、正しい文字順序を確保できます。