Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Xóa ký tự trùng lặp liền kề từ chuỗi trong JavaScript

Mô tả vấn đề

Hàm JavaScript nhận vào chuỗi str làm đối số duy nhất. Việc xóa trùng lặp gồm chọn hai ký tự liền kề bằng nhau và xóa chúng. Ta lặp lại việc xóa cho đến khi không thể nữa. Hàm trả về chuỗi cuối cùng sau tất cả các lần xóa.

Ví dụ, nếu đầu vào là:

const str = 'kllkmk';

Thì đầu ra nên là:

const output = 'mk';

Giải thích đầu ra

Trước hết xóa 'll' thành 'kkmk', sau đó xóa 'kk' trả về chuỗi mới.

Ví dụ minh họa

Mã thực hiện (stack):

const str = 'kllkmk'; 
const removeDuplicates = (str = '') => { 
  const arr = []; 
  for(const char of str){ 
    if(char === arr[arr.length - 1]){ 
      while(arr[arr.length - 1] === char){ 
        arr.pop(); 
      }; 
    } else { 
      arr.push(char); 
    }; 
  }; 
  return arr.join(''); 
}; 
console.log(removeDuplicates(str));

Đầu ra

Kết quả trong console sẽ là:

mk