2390. Removing Stars From a String LeetCode Solution

In this guide, you will get 2390. Removing Stars From a String LeetCode Solution with the best time and space complexity. The solution to Removing Stars From a String problem is provided in various programming languages like C++, Java, and Python. This will be helpful for you if you are preparing for placements, hackathons, interviews, or practice purposes. The solutions provided here are very easy to follow and include detailed explanations.

Table of Contents

  1. Problem Statement
  2. Complexity Analysis
  3. Removing Stars From a String solution in C++
  4. Removing Stars From a String solution in Java
  5. Removing Stars From a String solution in Python
  6. Additional Resources
2390. Removing Stars From a String LeetCode Solution image

Problem Statement of Removing Stars From a String

You are given a string s, which contains stars *.
In one operation, you can:

Choose a star in s.
Remove the closest non-star character to its left, as well as remove the star itself.

Return the string after all stars have been removed.
Note:

The input will be generated such that the operation is always possible.
It can be shown that the resulting string will always be unique.

Example 1:

Input: s = “leet**cod*e”
Output: “lecoe”
Explanation: Performing the removals from left to right:
– The closest character to the 1st star is ‘t’ in “leet**cod*e”. s becomes “lee*cod*e”.
– The closest character to the 2nd star is ‘e’ in “lee*cod*e”. s becomes “lecod*e”.
– The closest character to the 3rd star is ‘d’ in “lecod*e”. s becomes “lecoe”.
There are no more stars, so we return “lecoe”.
Example 2:

Input: s = “erase*****”
Output: “”
Explanation: The entire string is removed, so we return an empty string.

See also  405. Convert a Number to Hexadecimal LeetCode Solution

Constraints:

1 <= s.length <= 105
s consists of lowercase English letters and stars *.
The operation above can be performed on s.

Complexity Analysis

  • Time Complexity: O(n)
  • Space Complexity: O(n)

2390. Removing Stars From a String LeetCode Solution in C++

class Solution {
 public:
  string removeStars(string s) {
    string ans;
    for (const char c : s)
      if (c == '*')
        ans.pop_back();
      else
        ans.push_back(c);
    return ans;
  }
};
/* code provided by PROGIEZ */

2390. Removing Stars From a String LeetCode Solution in Java

class Solution {
  public String removeStars(String s) {
    StringBuilder sb = new StringBuilder();
    for (final char c : s.toCharArray())
      if (c == '*')
        sb.deleteCharAt(sb.length() - 1);
      else
        sb.append(c);
    return sb.toString();
  }
}
// code provided by PROGIEZ

2390. Removing Stars From a String LeetCode Solution in Python

class Solution:
  def removeStars(self, s: str) -> str:
    ans = []
    for c in s:
      if c == '*':
        ans.pop()
      else:
        ans.append(c)
    return ''.join(ans)
# code by PROGIEZ

Additional Resources

Happy Coding! Keep following PROGIEZ for more updates and solutions.