Trong bài toán này, chúng ta được cung cấp một chuỗi và chúng ta phải in tất cả các dãy con của chuỗi. Chuỗi con được hình thành bằng cách xóa các phần tử. Ngoài ra, thứ tự của chuỗi không được thay đổi.
Hãy lấy một ví dụ để hiểu rõ vấn đề hơn -
Input: string = “xyz” Output: x y xy z xz yz xyz
Để giải quyết vấn đề này, chúng tôi sẽ tìm tất cả các chuỗi con bắt đầu từ việc đóng băng ký tự đầu tiên của chuỗi và tìm dãy con tương ứng, sau đó tìm ký tự tiếp theo trong chuỗi và dãy con.
Ví dụ
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, ""); } }
Đầu ra
Các chuỗi con là -
z y yz x xz xy xyz w wz wy wyz wx wxz wxy wxyz