leetcode1087 字母切換

2021-09-27 23:39:31 字數 1338 閱讀 4636

我們用乙個特殊的字串 s 來表示乙份單詞列表,之所以能展開成為乙個列表,是因為這個字串 s 中存在乙個叫做「選項」的概念:

單詞中的每個字母可能只有乙個選項或存在多個備選項。如果只有乙個選項,那麼該字母按原樣表示。

如果存在多個選項,就會以花括號包裹來表示這些選項(使它們與其他字母分隔開),例如 「」 表示 [「a」, 「b」, 「c」]。

例子:"d" 可以表示單詞列表 [「ade」, 「adf」, 「bde」, 「bdf」, 「cde」, 「cdf」]。

請你按字典順序,返回所有以這種方式形成的單詞。

示例 1:

輸入:"cf"

輸出:[「acdf」,「acef」,「bcdf」,「bcef」]

示例 2:

輸入:「abcd」

輸出:[「abcd」]

1 <= s.length <= 50

你可以假設題目中不存在巢狀的花括號

在一對連續的花括號(開花括號與閉花括號)之間的所有字母都不會相同

public

class 字母切換leetcode1087 '

)elseif(

!isend)

else

if(str.

charat

(i)==

'else

}return map;

}public

static string[

]expand

(string str)

private

static

void

recursion

(map

datamap, list

resultlist, stringbuilder result,

int index)

stringbuilder valuestring = datamap.

get(index)

;for

(int i =

0; i < valuestring.

length()

; i++)}

public

static

void

main

(string[

] args)

d");

// for (integer index : map.keyset())

string[

] array =

expand

("e,");

for(

int i =

0; i < array.length; i++)}

}

LeetCode 1087 字母切換(回溯)

我們用乙個特殊的字串 s 來表示乙份單詞列表,之所以能展開成為乙個列表,是因為這個字串 s 中存在乙個叫做 選項 的概念 單詞中的每個字母可能只有乙個選項或存在多個備選項。如果只有乙個選項,那麼該字母按原樣表示。如果存在多個選項,就會以花括號包裹來表示這些選項 使它們與其他字母分隔開 例如 表示 a...

LeetCode(242 字母異構)

如題 看上去很簡單,但是有點蛋疼。直接的做法是什麼,遍歷s,對應的取每一位字元然後對應從t中刪除相同的字元,直觀的實現 public static boolean isanagram string s,string t for int i 0 i但是,很蛋疼的是,時間超限了 另尋它法,s和t擁有相同...

leetcode 49 字母異位

給定乙個字串陣列,將字母異位片語合在一起。字母異位詞指字母相同,但排列不同的字串。示例 輸入 eat tea tan ate nat bat 輸出 ate eat tea nat tan bat 說明 所有輸入均為小寫字母。不考慮答案輸出的順序。通過次數80,334提交次數129,632 思路 還是...