План курса / Все задачи / Алгоритмы и структуры данных
Круглые скобки
легко
# решено
Дана строка s, состоящая только из символов '(' и ')'. Нужно вернуть true, если скобки в строке сбалансированы, иначе вернуть false. Сбалансированная строка означает, что каждой открывающей скобке соответствует закрывающая, и они правильно вложены друг в друга.
Пример 1:
Ввод: s = "()"
Вывод: true
Пример 2:
Ввод: s = "(()()"
Вывод: false
Ограничения:
len(s) >= 1
using System;
public class Solution
{
public static bool IsBalanced(string s)
{
int balance = 0;
foreach (char brace in s)
{
if (brace == '(')
{
balance++;
}
else if (brace == ')')
{
balance--;
}
// Если balance < 0, значит закрывающих скобок больше, чем открывающих
if (balance < 0)
{
return false;
}
}
return balance == 0;
}
}
#include <iostream>
#include <string>
using namespace std;
bool isBalanced(string s) {
int balance = 0;
for (char brace : s) {
if (brace == '(') {
balance++;
} else if (brace == ')') {
balance--;
}
// Если balance < 0, значит закрывающих скобок больше, чем открывающих
if (balance < 0) {
return false;
}
}
return balance == 0;
}
package main
func isBalanced(s string) bool {
balance := 0
for _, brace := range s {
if brace == '(' {
balance++
} else if brace == ')' {
balance--
}
// Если balance < 0, значит закрывающих скобок больше, чем открывающих
if balance < 0 {
return false
}
}
return balance == 0
}
public class Solution {
public static boolean isBalanced(String s) {
int balance = 0;
for (char brace : s.toCharArray()) {
if (brace == '(') {
balance++;
} else if (brace == ')') {
balance--;
}
// Если balance < 0, значит закрывающих скобок больше, чем открывающих
if (balance < 0) {
return false;
}
}
return balance == 0;
}
}
def is_balanced(s: str) -> bool:
balance = 0
for brace in s:
if brace == "(":
balance += 1
elif brace == ")":
balance -= 1
# Если balance < 0, значит закрывающих скобок больше, чем открывающих
if balance < 0:
return False
return balance == 0
def is_balanced(s: str) -> bool:
balance = 0
for brace in s:
if brace == "(":
balance += 1
elif brace == ")":
balance -= 1
# Если balance < 0, значит закрывающих скобок больше, чем открывающих
if balance < 0:
return False
return balance == 0