func removeAdjacentPair(_ s: String) -> String {
var str = s
var i = 0
while i < str.count - 1 {
let index1 = str.index(str.startIndex, offsetBy: i)
let index2 = str.index(str.startIndex, offsetBy: i + 1)
if str[index1] == str[index2] {
str.remove(at: index2)
str.remove(at: index1)
if i != 0 { i -= 1 }
} else {
i += 1
}
}
return str
}
var s = "aabcccdeeffffgac"
s = removeAdjacentPair(s)
print(s)
/*
run:
bcdgac
*/