算法系列04:栈与队列,两个方向的顺序控制器
把后进先出和先进先出吃透,很多字符串、匹配、层序遍历问题会变清晰。
学习目标 区分栈与队列的进出规则 用栈做匹配校验 用队列做顺序模拟 栈:括号合法性 这是表达式校验、撤销功能、回溯的常见底层。 队列:按层推进 用“头指针 + 尾指针”即可模拟队列: 使用建议 不需要每次 pop(0),那会退化为 O(n)。 用数组 + 头指针可让队列操作维持高效。 栈和队列经常嵌套在图/树问题里,提前把模板记熟。
把后进先出和先进先出吃透,很多字符串、匹配、层序遍历问题会变清晰。
学习目标 区分栈与队列的进出规则 用栈做匹配校验 用队列做顺序模拟 栈:括号合法性 这是表达式校验、撤销功能、回溯的常见底层。 队列:按层推进 用“头指针 + 尾指针”即可模拟队列: 使用建议 不需要每次 pop(0),那会退化为 O(n)。 用数组 + 头指针可让队列操作维持高效。 栈和队列经常嵌套在图/树问题里,提前把模板记熟。