这一分类以栈、队列和哈希表的典型题为主,同时收录几道常见的字符串、回溯和数位计数题。
| 题目 | 核心方法 | 关键点 |
|---|---|---|
| 1. 两数之和 | 哈希表 | 用空间换时间,保存已遍历元素 |
| 20. 有效的括号 | 栈 | 最近出现的左括号最先匹配 |
| 232. 用栈实现队列 | 双栈 | 输入栈负责写入,输出栈负责读取 |
| 146. LRU 缓存 | 哈希表 + 双向链表 | 同时实现 O(1) 定位、移动和淘汰 |
| 415. 字符串相加 | 双指针 + 模拟 | 从低位向高位逐位相加 |
| 165. 比较版本号 | 双指针 / 分割 | 逐段比较修订号 |
| 46. 全排列 | 回溯 | 路径、选择列表、撤销选择 |
| 902. 最大为 N 的数字组合 | 数位计数 | 统计短位数,再处理与 n 等长的前缀 |
O(1) 定位节点时,考虑哈希表。数据结构只是工具。做题时应先识别问题需要维护的状态和操作复杂度,再决定使用哪种结构。