Skip to content

删除字符串中的所有相邻重复项

第一种

javascript
var removeDuplicates = function (s) {
  s = s.split("");
  let arr = [];
  for (var i = 0; i < s.length; i++) {
    let len = arr.length;
    if (len > 0 && arr[len - 1] === s[i]) {
      arr.pop();
    } else {
      arr.push(s[i]);
    }
  }
  return arr.join("");
};

第二种

javascript
var removeDuplicates = function (s) {
  s = s.split("");
  for (var i = 0; i < s.length; i++) {
    if (s[i] === s[i + 1]) {
      s.splice(i, 2);
      if (i - 1 < 0) {
        i--;
      } else {
        i -= 2;
      }
    }
  }
  return s.join("");
};

第三种

javascript
var removeDuplicates = function (s) {
  let arr = [];
  for (let v of s) {
    let prev = arr.pop();
    console.log(arr);
    if (prev != v) {
      arr.push(prev);
      arr.push(v);
    }
  }
  return arr.join("");
};
javascript
console.log(removeDuplicates("abbaca"));