/**
* @param {string} s
* @return {string}
*/
var removeDuplicates = function(s) {
// 思路 拿栈中删除的元素和循环栈中的元素比较 如果相等的话那就把栈中删除了,也不会将循环的元素推入栈
// 如果不相等的话那就把删除的元素推入栈,也把循环的元素推入栈
// 举例:第一次删除的元素是空,循环的元素是a,不相等那就把空元素和a都推入栈,再接着把a删除,循环的元素是b,不相等把a,b依次推入栈,再接着栈删除的元素是b,循环的元素是b,这样的话b删除了,后面的b也不推入栈。
let stack = []
for(let i of s){
let popElement = stack.pop()
if(i != popElement){
stack.push(popElement)
stack.push(i)
}
}
return stack.join('');
};