fcoBlog

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

Post

Leave a comment 💬

All Comments

No comments yet.