DEV Community

SalahElhossiny
SalahElhossiny

Posted on

Leetcode Solutions: Remove All Adjacent Duplicates In String

You are given a string s consisting of lowercase English letters. A duplicate removal consists of choosing two adjacent and equal letters and removing them.

We repeatedly make duplicate removals on s until we no longer can.

Return the final string after all such duplicate removals have been made. It can be proven that the answer is unique.

Here is the solution:

class Solution(object):
    def removeDuplicates(self, s):
        """
        :type s: str
        :rtype: str
        """

        stack = []

        for char in s:
            if stack and stack[-1] == char:
                stack.pop()

            else:
                stack.append(char)


        return "".join(stack)

Enter fullscreen mode Exit fullscreen mode

Discussion (0)