-4
有兩個字符串,每一個組合我想生成與第二第一個字的每個組合。我想插入第二個單詞到第一個單詞以生成每個可能的組合。唯一的規則是:生成的兩個詞
落後對方
沒有插入單詞,在這個例子:
string input = "Hello";
string secondInput = ".";
這種方法: GenerateAllCombinations(input,secondInput);
將返回:
//1 dot
.Hello
H.ello
He.llo
Hel.lo
Hell.o
Hello.
//2 dot
.H.ello
.He.llo
.Hel.lo
.Hel.lo
.Hell.o
.Hello.
.He.llo
.Hel.lo
.Hell.o
.Hello.
.Hel.lo
.Hell.o
.Hello.
H.e.llo
H.el.lo
H.ell.o
H.ello.
Hel.l.o
Hel.lo.
Hell.o.
//3 dots
.H.e.llo
.H.el.lo
.H.ell.o
.H.ello.
.He.l.lo
.He.ll.o
.He.llo.
.Hel.l.o
.Hel.lo.
.Hell.o.
//4 dots
.H.e.l.lo
.H.e.ll.o
.H.e.llo.
.He.l.l.o
.He.l.lo.
.Hel.l.o.
//5 dots
.H.e.l.l.o
.H.e.l.lo.
.He.l.l.o.
由於規則說我不想要這樣的事情: Hell.o....
這防止產生無限組合。
這樣看來,最好的辦法是使用遞歸。我已經添加了一個正在做我想要的代碼,但它沒有使用遞歸。主要問題是我無法使用我的代碼與每個輸入。它只適用於一種大小的單詞。你有什麼想法如何解決這個問題?
你嘗試過這麼遠嗎? –
遞歸方法調用它自己,所以你的方法需要一個計數器作爲第一個字符串的每一列的參數。 – louis12356
請在嘗試尋求幫助之前嘗試並發現問題。 – RH6