栈是一种简单但重要的数据结构
栈支持两种操作,压栈和出栈S.push(e)、S.pop();为方便操作,可以在此基础上再定义以下方法:
- S.top() 在不移除栈顶元素的情况下,返回栈顶元素;若栈为空,则会出错。
- S.is_empty() 如果栈中不包含元素,则返回一个bool值,为true。
- len(S) 返回栈中元素的数量。
栈的相关表示:
- 顺序表示(数组表示):顺序栈
- 链式表示(链表表示):链式栈
记录和栈相关的一些算法题:
- 数据逆序
- 括号匹配
- HTML标记匹配
- 求组合数C(m,n)
- 进制转换
- 算数表达式求值
- 字符串是否中心对称