เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับสตริงที่อาจมีวงเล็บเปิดและปิดบางส่วน ฟังก์ชันควรไม่ว่าวงเล็บเปิดทั้งหมดจะมีวงเล็บปิดอยู่หรือไม่ หากวงเล็บถูกจับคู่อย่างถูกต้อง ฟังก์ชันควรคืนค่า true มิฉะนั้น false
ตัวอย่างเช่น −
f('(hello (world))') = true
f('(hello (world)') = false ตัวอย่าง
ต่อไปนี้เป็นรหัส -
const str1 = '(hello (world))';
const str2 = '(hello (world)';
const validateBrackets = (str = '') => {
const strArr = str.split('');
let counter = 0;
for (let i = 0, len = strArr.length; i < len; i++) {
if (strArr[i] === "(") {
counter++;
}else if (strArr[i] === ")") {
counter--;
};
if (counter < 0) {
return false;
};
};
if (counter === 0) {
return true;
};
return false;
};
console.log(validateBrackets(str1));
console.log(validateBrackets(str2)); ผลลัพธ์
ต่อไปนี้เป็นผลลัพธ์บนคอนโซล -
true false