Stack栈
特点:需要回顾之前的状态,且只需要回顾某个状态一次即可。
- 特性:LIFO(Last In First Out)
- 适用于需要记录之前的状态,必要的时候可以找回之前的状态,或者利用之前的值
- 不像array,不可以采用index访问,每次只能拿栈顶元素。
动态规划与栈的区别
动态规划是记录之前所有的状态,随时可以访问任何一个子问题,所有通常采用Array和HashTable,而且不会回到之前的状态,只会利用之前的值。
Stack:每次只需要栈顶元素,并且每个状态只会被用**O(1)**次。
栈的解决方法
定义好Stack栈和栈顶元素的含义(通常直接根据问题进行定义)
后面将会用具体题目阐述解决栈类型的问题。