栈的实现
1 class Stack: 2 def __init__(self): 3 self.lis = [] 4 5 def pop(self): 6 if not self.is_empty(): 7 return self.lis.pop() 8 else: 9 raise IndexError("The stack is empty!") 10 11 def push(self, element): 12 self.lis.append(element) 13 14 def get_top(self): 15 if len(self.lis) > 0: 16 return self.lis[len(self.lis)-1] 17 else: 18 return None 19 20 def get_len(self): 21 return len(self.lis) 22 23 def is_empty(self): 24 return len(self.lis) == 0 25 26 27 def brace_match(s): 28 stack = Stack() 29 match = {')': '(', ']': '[', '}': '{'} 30 for ch in s: 31 if ch in match.values(): 32 stack.push(ch) 33 elif ch not in match.keys(): 34 return False 35 else: 36 if stack.get_top() == match[ch]: 37 stack.pop() 38 else: 39 return False 40 else: 41 if stack.get_len() == 0: 42 return True 43 else: 44 return False 45 46 47 if __name__ == '__main__': 48 stack = Stack() 49 test_str = '{[(({(' 50 print(brace_match(test_str))
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人