使用C ++中的ArrayList打印字符串的所有子序列
本文向大家介绍使用C ++中的ArrayList打印字符串的所有子序列,包括了使用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