diff --git a/problems/栈与队列总结.md b/problems/栈与队列总结.md index e7f8ef86..4e08a887 100644 --- a/problems/栈与队列总结.md +++ b/problems/栈与队列总结.md @@ -25,8 +25,8 @@ 这个问题有两个陷阱: -* 陷阱1:栈是容器适配器,底层容器使用不同的容器,导致栈内数据在内存中是不是连续分布。 -* 陷阱2:缺省情况下,默认底层容器是deque,那么deque的在内存中的数据分布是什么样的呢? 答案是:不连续的,下文也会提到deque。 +* 陷阱1:栈是容器适配器,底层容器使用不同的容器,导致栈内数据在内存中不一定是连续分布的。 +* 陷阱2:缺省情况下,默认底层容器是deque,那么deque在内存中的数据分布是什么样的呢? 答案是:不连续的,下文也会提到deque。 所以这就是考察候选者基础知识扎不扎实的好问题。 @@ -42,7 +42,7 @@ ### 栈在系统中的应用 -如果还记得编译原理的话,编译器在 词法分析的过程中处理括号、花括号等这个符号的逻辑,就是使用了栈这种数据结构。 +如果还记得编译原理的话,编译器在词法分析的过程中处理括号、花括号等这个符号的逻辑,就是使用了栈这种数据结构。 再举个例子,linux系统中,cd这个进入目录的命令我们应该再熟悉不过了。 @@ -70,8 +70,8 @@ cd a/b/c/../../ 先来分析一下 这里有三种不匹配的情况, -1. 第一种情况,字符串里左方向的括号多余了 ,所以不匹配。 -2. 第二种情况,括号没有多余,但是 括号的类型没有匹配上。 +1. 第一种情况,字符串里左方向的括号多余了,所以不匹配。 +2. 第二种情况,括号没有多余,但是括号的类型没有匹配上。 3. 第三种情况,字符串里右方向的括号多余了,所以不匹配。 这里还有一些技巧,在匹配左括号的时候,右括号先入栈,就只需要比较当前元素和栈顶相不相等就可以了,比左括号先入栈代码实现要简单的多了!