Vấn đề
Chúng tôi được yêu cầu viết một hàm JavaScript nhận một số n. Hàm của chúng ta sẽ trả về một mảng hiển thị tất cả các cách cân bằng n ngoặc đơn.
Ví dụ:đối với n =3, đầu ra sẽ là -
["()()()","(())()","()(())","(()())","((()))"]
Ví dụ
Sau đây là mã -
const res = []; const buildcombination = (left, right, str) => { if (left === 0 && right === 0) { res.push(str); } if (left > 0) { buildcombination(left-1, right+1, str+"("); } if (right > 0) { buildcombination(left, right-1, str+")"); } } buildcombination(3, 0, ""); console.log(res);
Đầu ra
Sau đây là đầu ra của bảng điều khiển -
[ '((()))', '(()())', '(())()', '()(())', '()()()' ]