Menu
CoddyTech

Luyện tập #3

Bài học 11 trên 13 trong khóa học Ngăn xếp: chuỗi cấu trúc dữ liệu số 1 của Coddy.

Các thử thách tiếp theo được thiết kế để sử dụng ngăn xếp (stack).

Cấu trúc dữ liệu Stack (lưu trữ các ký tự) đã được cung cấp sẵn cho bạn, hãy sử dụng nó!

challenge icon

Thử thách

Dễ

Viết một hàm isBalancedParentheses nhận vào một chuỗi gồm dấu ngoặc đơn, ngoặc vuông và ngoặc nhọn, rồi trả về true nếu chuỗi cân bằng, nếu không thì trả về false.

Nghĩa là mỗi ký hiệu mở phải có một ký hiệu đóng tương ứng.

Dùng Stack được cung cấp để giải bài toán này!

Ví dụ:

Đầu vào: "({[]})" → Đầu ra: true

Đầu vào: "({[)})]" → Đầu ra: false

Tự làm thử

#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;
}

Tất cả bài học trong Ngăn xếp: chuỗi cấu trúc dữ liệu số 1

Tự luyện tập: Trình biên dịch C online