Given a string “str” and another string “sub_str”. We are allowed to delete “sub_str” from “str” any number of times. It is also given that the “sub_str” appears only once at a time. The task is to find if “str” can become empty by removing “sub_str” again and again.
Input : str = "GEEGEEKSKS", sub_str = "GEEKS" Output : Yes Explanation : In the string GEEGEEKSKS, we can first delete the substring GEEKS from position 4. The new string now becomes GEEKS. We can again delete sub-string GEEKS from position 1. Now the string becomes empty. Input : str = "GEEGEEKSSGEK", sub_str = "GEEKS" Output : No Explanation : In the string it is not possible to make the string empty in any possible manner.
A simple solution to solve this problem is by using inbuilt string functions find() and erase(). First input the sub-string substr for searching purpose in the original string str, then iterate the original string to find the index of sub-string using find() which return starting index of the sub-string in the original string else -1 if not found and erase that sub-string using erase() until length of original string is greater than 0.
The above simple solutions works because the given substring appears only once at a time.
This article is contributed by Himanshu Gupta. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
GeeksforGeeks has prepared a complete interview preparation course with premium videos, theory, practice problems, TA support and many more features. Please refer Placement 100 for details
- Decode a string recursively encoded as count followed by substring
- Minimum steps to delete a string by deleting substring comprising of same characters
- String slicing in Python to check if a string can become empty by recursive deletion
- Count occurrences of a substring recursively
- Program to check if the String is Empty in Java
- Queries to check if string B exists as substring in string A
- Check if a string is substring of another
- Check if the given string is shuffled substring of another string
- Python | Check if a Substring is Present in a Given String
- Check if string can be rearranged so that every Odd length Substring is Palindrome
- Check if there exists a permutation of given string which doesn't contain any monotonous substring
- Check if string can be made lexicographically smaller by reversing any substring
- Find if a given string can be represented from a substring by iterating the substring “n” times
- Partition given string in such manner that i'th substring is sum of (i-1)'th and (i-2)'th substring
- Find largest word in dictionary by deleting some characters of given string