Files

44 lines
864 B
Python

class Solution:
def makeGood(self, s: str) -> str:
"""
Complexities:
Time: O(n)
Space: O(n)
where n = len(s)
"""
# base case: len(s) == 1
if len(s) <= 1:
return s
stack = ""
for letter in s:
stack += letter
if len(stack) >= 2 and stack[-2] != stack[-1] and stack[-2].lower() == stack[-1].lower():
stack = stack[:-2]
return stack
"""
# iterate over all letters
# - compare s[i], s[i+1]
# - if I remove, look at s[i-1]
i = 0
while i <= len(s) - 2:
if s[i] != s[i + 1] and s[i].lower() == s[i + 1].lower():
s = s[:i] + s[i+2:]
if i > 0:
i -= 1
else:
i += 1
return s
"""