Untitled
unknown
plain_text
2 years ago
1.7 kB
6
Indexable
class Stack: def __init__(self, capacity): self.capacity = capacity self.stack = [None] * capacity self.sizee = 0 def push(self, x): # добавить if self.sizee == self.capacity: raise Exception('Stack overflow') self.stack[self.sizee] = x self.sizee += 1 def pop(self): # удалить if self.empty(): raise Exception('Stack underflow') temp = self.stack[self.sizee] self.stack[self.sizee] = None self.sizee -= 1 return temp def clear(self): self.capacity = self.capacity self.stack = [None] * self.capacity self.sizee = 0 def empty(self) -> bool: return self.sizee == 0 def size(self): return self.sizee def top(self): if self.empty(): raise Exception('Stack is empty') temp = self.stack[self.sizee] return temp def zad2(a): st = Stack(len(a)) resault = "" for i in range(len(a)): st.push(a[i]) for i in range(len(a)): resault += st.pop() print(resault) def zad3(a): st = Stack(len(a)) for i in a: if i in '([{': st.push(i) elif i in ')]}': if st.empty(): return False open_brackets = st.pop() if open_brackets == '(' and i == ')': continue if open_brackets == '[' and i == ']': continue if open_brackets == '{' and i == '}': continue return False return st.empty() zad2("hello") print(zad3("()()"))
Editor is loading...