1910. Remove All Occurrences of a Substring

Difficulty:
Related Topics:
Similar Questions:

    Problem

    Given two strings s and part, perform the following operation on s until all occurrences of the substring part are removed:

    Return s** after removing all occurrences of **part.

    A substring is a contiguous sequence of characters in a string.

      Example 1:

    Input: s = "daabcbaabcbc", part = "abc"
    Output: "dab"
    Explanation: The following operations are done:
    - s = "daabcbaabcbc", remove "abc" starting at index 2, so s = "dabaabcbc".
    - s = "dabaabcbc", remove "abc" starting at index 4, so s = "dababc".
    - s = "dababc", remove "abc" starting at index 3, so s = "dab".
    Now s has no occurrences of "abc".
    

    Example 2:

    Input: s = "axxxxyyyyb", part = "xy"
    Output: "ab"
    Explanation: The following operations are done:
    - s = "axxxxyyyyb", remove "xy" starting at index 4 so s = "axxxyyyb".
    - s = "axxxyyyb", remove "xy" starting at index 3 so s = "axxyyb".
    - s = "axxyyb", remove "xy" starting at index 2 so s = "axyb".
    - s = "axyb", remove "xy" starting at index 1 so s = "ab".
    Now s has no occurrences of "xy".
    

      Constraints:

    Solution (Java)

    class Solution {
        public String removeOccurrences(String s, String part) {
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < s.length(); i++) {
                sb.append(s.charAt(i));
                if (sb.length() >= part.length()
                        && sb.substring(sb.length() - part.length()).equals(part)) {
                    sb.setLength(sb.length() - part.length());
                }
            }
            return sb.toString();
        }
    }
    

    Explain:

    nope.

    Complexity: