Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

พิมพ์ลำดับย่อยทั้งหมดของสตริงโดยใช้ ArrayList ใน C++


ในปัญหานี้ เราได้รับสตริงและต้องพิมพ์ลำดับย่อยทั้งหมดของสตริง สตริงย่อยเกิดขึ้นจากการลบองค์ประกอบ นอกจากนี้ ลำดับของสตริงไม่ควรเปลี่ยนแปลง

มาดูตัวอย่างเพื่อทำความเข้าใจปัญหากันดีกว่า −

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