給出乙個字串 s(僅含有小寫英文本母和括號)。
請你按照從括號內到外的順序,逐層反轉每對匹配括號中的字串,並返回最終的結果。
注意,您的結果中 不應 包含任何括號。
示例 1:
輸入:s = "(abcd)"
輸出:"dcba"
示例 2:
輸入:s = "(u(love)i)"
輸出:"iloveu"
示例 3:
輸入:s = "(ed(et(oc))el)"
輸出:"leetcode"
示例 4:
輸入:s = "a(bcdefghijkl(mno)p)q"
輸出:"apmnolkjihgfedcbq"
0 <= s.length <= 2000
s 中只有小寫英文本母和括號
我們確保所有括號都是成對出現的
解:遞迴
利用stack來儲存' ( '的角標位置,遇到『(』則將其角標壓入棧;遇到『)』則將棧頂的角標彈出,並將該角標與『 )』之間的字串反轉
class solution else if(arr[i] == ')'){
reverse(arr,stack.pop() + 1, i - 1);
for(int i = 0; i < num; i++){
if(arr[i] != '(' && arr[i] != ')'){
return st.tostring();
public void reverse(char c, int i, int j){
while(i < j){
char temp = c[i];
c[i] = c[j];
c[j] = temp;
i++;
j--;
反轉每對括號間的子串
問題描述 給出乙個字串 s 僅含有小寫英文本母和括號 請你按照從括號內到外的順序,逐層反轉每對匹配括號中的字串,並返回最終的結果。注意,您的結果中不應 包含任何括號。示例 1 輸入 s abcd 輸出 dcba 示例 2 輸入 s u love i 輸出 iloveu 示例 3 輸入 s ed et...
8 反轉每對括號間的子串
問題描述 給出乙個字串 s 僅含有小寫英文本母和括號 請你按照從括號內到外的順序,逐層反轉每對匹配括號中的字串,並返回最終的結果。注意,您的結果中不應 包含任何括號。示例 1 輸入 s abcd 輸出 dcba 示例 2 輸入 s u love i 輸出 iloveu 示例 3 輸入 s ed et...
棧的春天 反轉每對括號的子串
棧的使用花樣百出,多棧會簡化很多問題 給出乙個字串 s 僅含有小寫英文本母和括號 請你按照從括號內到外的順序,逐層反轉每對匹配括號中的字串,並返回最終的結果。注意,您的結果中 不應 包含任何括號。輸入 s a bcdefghijkl mno p q 輸出 apmnolkjihgfedcbq 充分發揮...