เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับสตริง str ที่มีเพียงอักขระ -
'(', ')', '{', '}', '[' and ']' ฟังก์ชันของเราควรตรวจสอบว่าสตริงอินพุตถูกต้องหรือไม่
สตริงอินพุตถูกต้องหาก −
-
วงเล็บเปิดต้องปิดด้วยวงเล็บประเภทเดียวกัน
-
ต้องปิดวงเล็บเปิดในลำดับที่ถูกต้อง
ตัวอย่างเช่น −
-
"()" เป็นวงเล็บที่ถูกต้อง
-
"()[]{}" เป็นวงเล็บที่ถูกต้อง
-
"(]" เป็นวงเล็บที่ไม่ถูกต้อง
ตัวอย่าง
รหัสสำหรับสิ่งนี้จะเป็น −
const str = "()[]{}";
const isValid = (str = '') => {
const map=new Map();
map.set('{','}');
map.set('(',')');
map.set('[',']');
const b=[];
for(let i=0;i<str.length;i++){
if(map.has(str.charAt(i))){
b.push(str.charAt(i));
} else{
let pop=b.pop();
if(map.get(pop)!==str.charAt(i)){
return false;
}
};
};
return b.length===0;
};
console.log(isValid(str)); ผลลัพธ์
และผลลัพธ์ในคอนโซลจะเป็น −
true false