98 / 205
LeetCode · EasyOson10 ball· ~15 daqiqa

Valid parentheses

Faqatgina (, ), {, }, [ va ] belgilaridan iborat s satri berilgan. Satr yaroqli ekanligini aniqlang.

Yaroqli satr shartlari:

  1. Ochiq qavslar aynan o'sha turdagi yopiq qavslar bilan yopilishi kerak.
  2. Ochiq qavslar to'g'ri tartibda yopilishi kerak.
  3. Har bir yopiq qavsga mos keladigan ochiq qavs bo'lishi kerak.
example.go
func solve(s string) bool {
    // ...
}

Misollar

kod
Input: s = "()"
Output: true
kod
Input: s = "()[]{}"
Output: true
kod
Input: s = "(]"
Output: false

Maslahatlar

  1. Oxirgi ochilgan qavs birinchi yopilishi kerakligini eslang — bu klassik stek (stack) tuzilmasi bilan yechiladigan masala.
  2. Satrni chapdan o'ngga aylanib, ochiluvchi qavslarni stekka qo'ying; yopiluvchi qavs uchrasa, stek bo'sh yoki eng tepadagi element mos ochiluvchi qavs bo'lmasa false qaytaring, aks holda stekdan chiqaring — oxirida stek bo'sh bo'lsa true.