DEV Community

ZeeshanAli-0704
ZeeshanAli-0704

Posted on

Remove *, #, Duplicate

Remove All * & previous char In String :

/**
 * @param {string} s
 * @return {string}
 */
var removeStars = function (s) {
  return getString(s);
};

const getString = (str) => {
  let stack = [];
  for (let i = 0; i < str.length; i++) {
    if (str[i] === "*") {
      stack.pop();
    } else {
      stack.push(str[i]);
    }
  }

  return stack.join("");
};

// Input: s = "leet**cod*e"
// Output: "lecoe"
Enter fullscreen mode Exit fullscreen mode

Remove All Adjacent Duplicates In String :


/**
 * @param {string} s
 * @return {string}
 */
var removeDuplicates = function (s) {
  return getString(s);
};

const getString = (str) => {
  let stack = [];
  for (let i = 0; i < str.length; i++) {
    if (str[i] === stack[stack.length-1]) {
      stack.pop();
    } else {
      stack.push(str[i]);
    }
  }

  return stack.join("");
};
// Input: s = "abbaca"
// Output: "ca"

Enter fullscreen mode Exit fullscreen mode

Remove All # & backspace on hash In String :

/**
 * @param {string} s
 * @param {string} t
 * @return {boolean}
 */
var backspaceCompare = function (s, t) {
  return getString(s) === getString(t);
};

const getString = (str) => {
  let stack = [];
  for (let i = 0; i < str.length; i++) {
    if (str[i] === "#") {
      stack.pop();
    } else {
      stack.push(str[i]);
    }
  }

  return stack.join("");
};

console.log(backspaceCompare("ab#c", "ad#c"));
Input: s = "ab#c", t = "ad#c"
Output: true
Explanation: Both s and t become "ac".

Enter fullscreen mode Exit fullscreen mode

Top comments (0)