package main
import (
"fmt"
)
func removeAdjacentDuplicates(s string) string {
stack := make([]rune, 0, len(s))
for _, ch := range s {
n := len(stack)
if n > 0 && stack[n-1] == ch {
stack = stack[:n-1] // pop
} else {
stack = append(stack, ch) // push
}
}
return string(stack)
}
func main() {
s := "abbacccada"
fmt.Println(removeAdjacentDuplicates(s))
}
/*
run:
cada
*/