Chúng tôi được cung cấp một chuỗi dấu ngoặc nhọn và chúng tôi bắt buộc phải viết một hàm thêm dấu ngoặc ở đầu và cuối chuỗi để làm cho tất cả các dấu ngoặc khớp với nhau.
Các dấu ngoặc nhọn phù hợp nếu với mọi
Ví dụ - Nếu chuỗi đầu vào là -
const str = '><<><';
Đầu ra
Sau đó, đầu ra phải là -
const output = '<><<><>>';
Ở đây, chúng tôi đã thêm '<' ở đầu và '>>' ở cuối để cân bằng chuỗi.
Chúng tôi sẽ sử dụng một con số sẽ giữ nguyên số lượng thẻ '<' đang mở cho đến nay. Và sau đó, khi chúng ta gặp thẻ '>', nếu không có thẻ mở nào hiện tại, chúng ta sẽ thêm '<' vào đầu chuỗi (trong khi vẫn giữ số lượng thẻ mở là 0).
Sau đó, ở cuối, hãy thêm một số '>' phù hợp với số thẻ hiện đang mở.
Ví dụ
Mã cho điều này sẽ là -
const str = '><<><'; const buildPair = (str = '') => { let count = 0; let extras = 0; for (const char of str) { if (char === '>') { if (count === 0) { extras++; } else { count−−; }; } else { count++; }; }; const leadingTags = '<'.repeat(extras); const trailingTags = '>'.repeat(count); return leadingTags + str + trailingTags; }; console.log(buildPair(str));
Đầu ra
Và đầu ra trong bảng điều khiển sẽ là -
><<><>>