java.lang.Object
g3001_3100.s3039_apply_operations_to_make_string_empty.Solution

public class Solution extends java.lang.Object
3039 - Apply Operations to Make String Empty.

Medium

You are given a string s.

Consider performing the following operation until s becomes empty:

  • For every alphabet character from 'a' to 'z', remove the first occurrence of that character in s (if it exists).

For example, let initially s = "aabcbbca". We do the following operations:

  • Remove the underlined characters s = “ a a**bc**bbca”. The resulting string is s = "abbca".
  • Remove the underlined characters s = “ ab b c a”. The resulting string is s = "ba".
  • Remove the underlined characters s = “ ba . The resulting string is s = "".

Return the value of the string s right before applying the last operation. In the example above, answer is "ba".

Example 1:

Input: s = “aabcbbca”

Output: “ba”

Explanation: Explained in the statement.

Example 2:

Input: s = “abcd”

Output: “abcd”

Explanation: We do the following operation:

  • Remove the underlined characters s = “ abcd ”. The resulting string is s = "".

The string just before the last operation is “abcd”.

Constraints:

  • 1 <= s.length <= 5 * 105
  • s consists only of lowercase English letters.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    java.lang.String
    lastNonEmptyString(java.lang.String s)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Solution

      public Solution()
  • Method Details

    • lastNonEmptyString

      public java.lang.String lastNonEmptyString(java.lang.String s)