Class Solution

  • All Implemented Interfaces:

    
    public final class Solution
    
                        

    3170 - Lexicographically Minimum String After Removing Stars.

    Medium

    You are given a string s. It may contain any number of '*' characters. Your task is to remove all '*' characters.

    While there is a '*', do the following operation:

    • Delete the leftmost '*' and the smallest non-'*' character to its left. If there are several smallest characters, you can delete any of them.

    Return the lexicographically smallest resulting string after removing all '*' characters.

    Example 1:

    Input: s = "aaba\*"

    Output: "aab"

    Explanation:

    We should delete one of the 'a' characters with '*'. If we choose s[3], s becomes the lexicographically smallest.

    Example 2:

    Input: s = "abc"

    Output: "abc"

    Explanation:

    There is no '*' in the string.

    Constraints:

    • <code>1 <= s.length <= 10<sup>5</sup></code>

    • s consists only of lowercase English letters and '*'.

    • The input is generated such that it is possible to delete all '*' characters.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
      Solution()
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      final String clearStars(String s)
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait