इस समस्या में, हमें एक स्ट्रिंग दी जाती है और हमें स्ट्रिंग के सभी अनुक्रमों को प्रिंट करना होता है। सबस्ट्रिंग तत्वों को हटाकर बनाई जाती है। साथ ही, स्ट्रिंग का क्रम नहीं बदला जाना चाहिए।
आइए समस्या को बेहतर ढंग से समझने के लिए एक उदाहरण लेते हैं -
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