We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
Balanced Brackets
Balanced Brackets
Sort by
recency
|
1593 Discussions
|
Please Login in order to post a comment
char* isBalanced(char* s) { char new_str[1001]; int top = -1; int len = strlen(s), flag = 0; for (int i = 0; i < len; i++){ top++; new_str[top] = s[i]; if (top >= 1 && is_a_pair(new_str[top-1], new_str[top])){ top -= 2; } if (top == -1 && i == len-1) flag = 1; } char res = malloc(4 sizeof(char)); if (flag) strcpy(res, "YES"); else strcpy(res, "NO"); return res; }
char* isBalanced(char* s) { char new_str[1001]; int top = -1; int len = strlen(s), flag = 0; for (int i = 0; i < len; i++){ top++; new_str[top] = s[i]; if (top >= 1 && is_a_pair(new_str[top-1], new_str[top])){ top -= 2; } if (top == -1 && i == len-1) flag = 1; } char res = malloc(4 sizeof(char)); if (flag) strcpy(res, "YES"); else strcpy(res, "NO"); return res; }
Here's a shorter solution:
`cpp14
int bool char `
`cpp14
bool is_balanced(string expression) { stack s; for (char c : expression) { if (c == '{') s.push('}'); else if (c == '[') s.push(']'); else if (c == '(') s.push(')'); else { if (s.empty() || c != s.top()) return false; s.pop(); } } return s.empty(); } `
i solved this question on youtube https://youtu.be/otwAWhdwnPU?si=IZFzzOv7CzMO3LMx