2390. Removing stars from a string

You are given a string s, which contains stars *.

In one operation, you can:

Return the string after all stars have been removed.

Note:

Example 1:

Input: s = "leet**cod*e"
Output: "lecoe"
Explanation: Performing the removals from left to right:

Example 2:

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

Time limit exceeded

def clearStars(self, s: str) -> str:
    i = 0
    while i < len(s):
        if s[i] == '*':
            mini = i - 1
            j = i - 2
            while j > -1:
                if s[j] < s[mini]:
                    mini = j
                j -= 1
            s = s[:i] + s[i+1:]
            s = s[:mini] + s[mini+1:]
            i -= 2  # adjust for removed chars
        i += 1
    return s

05-07-2025

def removeStars(self, s: str) -> str:
	res = []
	for i in s:
		if i == '*':
			res.pop()
		else:
			res.append(i)
	return ''.join(res)