Bir parantez dizisinin geçerli olup olmadığını kontrol edin: "({[]})"
Cevap
Stack kullanılır. Açılan parantezi stack'e koyun; kapanan parantez gelince stack'in tepesi eşleşmiyorsa geçersizdir. Sonda stack boş olmalıdır. O(n) zaman.
function gecerli(s) {
const es = { ")": "(", "]": "[", "}": "{" };
const st = [];
for (const c of s) {
if ("([{".includes(c)) st.push(c);
else if (st.pop() !== es[c]) return false;
}
return st.length === 0;
}İlgili Algoritmalar & Veri Yapıları soruları
Bu konuda başka bir soru biliyor musun?
Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.