Min Stack LeetCode solution in Python
1# Runtime: 117 ms (Top 35.13%) | Memory: 18.5 MB (Top 10.03%)2class MinStack:34def __init__(self):5self.stack = []67def push(self, val: int) -> None:8if not self.stack:9self.stack.append((val, val))10else:11self.stack.append((val, min(val, self.stack[-1][1])))1213def pop(self) -> None:14if self.stack:15self.stack.pop()1617def top(self) -> int:18if self.stack:19return self.stack[-1][0]20else:21return None2223def getMin(self) -> int:24if self.stack:25return self.stack[-1][1]26else:27return None