在 C++ 中使用 ArrayList 打印字符串的所有子序列
本问题为我们提供一个字符串,目的是打印字符串的所有子序列。子串是通过删除元素形成的。另外,字符串的顺序不可更改。
下面通过一个示例,以便更好地理解问题 −
Input: string = “xyz” Output: x y xy z xz yz xyz
为了解决这个问题,我们将找到从冻结字符串第一个字符开始的所有子串,并相应地找到子序列,然后寻找字符串中的下一个字符和子序列。
示例
public class Main { public static void printSubString(String sub,String subSeq){ if (sub.length() == 0) { System.out.print(subSeq+" "); return; } char ch = sub.charAt(0); String ros = sub.substring(1); printSubString(ros, subSeq); printSubString(ros, subSeq + ch); } public static void main(String[] args){ String str = "wxyz"; System.out.println("The subStrings are :"); printSubString(str, ""); } }
输出
子串为 −
z y yz x xz xy xyz w wz wy wyz wx wxz wxy wxyz
广告