反轉每對括號裡的子串

2021-10-08 22:26:34 字數 884 閱讀 8382

給出乙個字串 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 充分發揮...