栈思想在算法题中的应用
指的是栈的特性——即先进后(FILO)去解决问题,主要用于以下情况:
- 数据是线性的;
- 问题中常常涉及到数据的来回比较;比如每日温度、括号比配、字符串解码、去掉重读字母等问题;
- 问题中涉及到数据的转置,例如进制问题,链表倒序打印问题;
栈思想只是一个解决问题的参考思想,并不是万能的,它适用于以上这样的情况去解决问题。利用栈思想解决问题时,首先需要透彻的解析问题之后,找出问题解决的规律,才能使用它解决。思想只有指导作用,遇到不同的题目,需要个例分析,在基本的思想上去找到具体具体问题的解决问题之道。