Leetcode Problem - Valid Parantheses
Sun Sep 01 2024
Table of Contents
Bu soruda stack kullandım ve stack kullanmak için Deque kütüphanesini tercih ettim çünkü Deque kütüphanesi hem LIFO hem de FIFO yapılarını destekler.
Problemi çözerken ise gelen Stringleri char array olarak tutup tek tek içerisinde gezdim. Eğer açık parantez varsa orayı stack'e pushladım. Eğer karakter kapanan bir parantez ise stack'de en üst elemanını kontrol ettim:
- Eğer stack boş ise, bu durumda eşleşmeyen bir kapanış parantezi vardır ve string geçerli değildir.
- Eğer stack boş değilse ve üstteki eleman şu anki kapanan parantezle eşleşmiyorsa, yine string geçerli değildir.
- Eğer eşleşme varsa, stack'de en üstündeki eleman çıkarılır, yani pop işlemi uygulanır.
Time complexity: O(N), her bir işlem sabit zaman alır ve string boyunca bir kez geçilir.
input: s= "([)]"
output: false, 3. adımda return false döndü
input: s= "()[]{}"
output: true
Leave a comment 💬
All Comments
No comments yet.