1209.Remove All Adjacent Duplicates in String II
Problem description:
You are given a string s
and an integer k
, a k
duplicate removal consists of choosing k
adjacent and equal letters from s
and removing them, causing the left and the right side of the deleted substring to concatenate together.
We repeatedly make k
duplicate removals on s
until we no longer can.
Return the final string after all such duplicate removals have been made. It is guaranteed that the answer is unique.
Example 1:
1 | Input: s = "abcd", k = 2 |
Example 2:
1 | Input: s = "deeedbbcccbdaa", k = 3 |
Example 3:
1 | Input: s = "pbbcggttciiippooaais", k = 2 |
Constraints:
1 <= s.length <= 105
2 <= k <= 104
s
only contains lower case English letters.
Solution:
Use stack
1 | class Solution: |
time complexity: $O()$
space complexity: $O()$
reference:
related problem: