我需要代码(或以下问题的代码片段或有关如何解决的提示):
通过从s中删除一个或多个字符得到字符串s的子序列。字符串的子序列集s = abc
是a, ab, ac, abc, b, bc, c,
和空字符串(它是所有字符串的子序列)。
查找 s 的所有可能子序列并按字典顺序打印它们。
这就是我想出来的,但它不起作用:
TreeSet<String> ls = new TreeSet<>();
for(int i=0;i<s.length();i++)
{
for(int j=i;j<s.length();j++)
{
StringBuffer sb = new StringBuffer();
for(int k=i;k<j+1;k++)
{
sb.append(s.charAt(k));
}
ls.add(sb.toString());
}
}
return ls.toArray(new String[ls.size()]);
结果:
TestCase : abc
输出: a ab abc b bc c
预期输出:a ab abc ac b bc c