Documentation
1
2
3
4
5
6
7
8
9
10
11
12
pub fn brackets_are_balanced(string: &str) -> bool {
    let mut brackets: String = string.chars().filter(|c| "()[]{}".contains(*c)).collect();
    loop {
        match () {
            _ if brackets.contains("()") => brackets = brackets.split("()").collect(),
            _ if brackets.contains("[]") => brackets = brackets.split("[]").collect(),
            _ if brackets.contains("{}") => brackets = brackets.split("{}").collect(),
            _ => break,
        }
    }
    brackets.is_empty()
}