Ćwiczenie #3
Lekcja 11 z 13 w kursie Stos — struktury danych, część 1 w Coddy.
Kolejne wyzwania zostały zaprojektowane z myślą o użyciu stosu .
Struktura danych Stack (przechowująca znaki) jest już dla ciebie dostępna — użyj jej!
Wyzwanie
ŁatwyNapisz funkcję isBalancedParentheses, która otrzymuje ciąg nawiasów okrągłych, kwadratowych i klamrowych, a następnie zwraca true, jeśli ciąg jest zrównoważony, w przeciwnym razie false.
Oznacza to, że każdy symbol otwierający musi mieć odpowiadający mu symbol zamykający.
Użyj udostępnionego stosu, aby rozwiązać ten problem!
Przykłady:
Dane wejściowe: "({[]})" → Dane wyjściowe: true
Dane wejściowe: "({[)})]" → Dane wyjściowe: false
Spróbuj swoich sił
#include <stdio.h>
#include <string.h>
#include "solution.h"
int main() {
char s[1000];
if (fgets(s, sizeof(s), stdin) == NULL) {
s[0] = '\0';
}
s[strcspn(s, "\r\n")] = '\0';
printf("%s\n", isBalancedParentheses(s) ? "true" : "false");
return 0;
}
Wszystkie lekcje w sekcji Stos — struktury danych, część 1
Poćwicz samodzielnie: Kompilator C online