Practice #3
الدرس 11 من 13 في دورة Stack - سلسلة هياكل البيانات #1 على Coddy.
تم تصميم التحديات التالية لاستخدام المكدس (stack) فيها.
هيكل البيانات Stack (تخزين الأحرف) متوفر لك بالفعل — استخدمه!
التحدي
سهلاكتب دالة isBalancedParentheses تستقبل سلسلة نصية من الأقواس، والأقواس المربعة، والأقواس المتعرجة، وتعيد true إذا كانت السلسلة متوازنة، وإلا فستعيد false.
بمعنى آخر، يجب أن يكون لكل رمز فتح رمز إغلاق مطابق له.
استخدم الـ Stack المقدم لحل هذه المشكلة!
أمثلة:
المدخلات: "({[]})" → المخرجات: true
المدخلات: "({[)})]" → المخرجات: false
جرّب بنفسك
#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;
}