我正在开发电子商务应用程序,我需要从给定的字符串中生成所有可能的单词。从给定的字符串形成所有可能的单词
例:
输入字符串:{AB}
预期输出:A,AB,BA,B
截至目前,我发现了输出为:一个,ab,b
我正面临问题,而从结尾回溯生成字符串ba。
package com.ecommerce.util;
import java.util.HashSet;
public class Combinations {
private StringBuilder output = new StringBuilder();
private final String inputstring;
public Combinations(final String str) {
inputstring = str;
System.out.println("The input string is : " + inputstring);
}
public HashSet<String> combine() {
HashSet<String >set=new HashSet<>();
combine(0,set);
System.out.println(set);
return set;
}
private void combine(int start,HashSet<String >set) {
for (int i = start; i < inputstring.length(); ++i) {
output.append(inputstring.charAt(i));
System.out.println(output);
set.add(output.toString());
if (i < inputstring.length())
combine`enter code here`(i + 1,set);
output.setLength(output.length() - 1);
}
}
}
在此先感谢您的帮助。
这不是一个代码写作服务。发布您到目前为止所尝试的内容,并向我们询问有关您的尝试的具体问题。 – Malphrush
首先你必须计算给定字符串的所有组合,然后对于每个组合,你必须找出所有的排列组合。 –
@Malphrush:我附上了代码片段。 –