剑指Offer09用两个栈实现队列
题目
用两个栈实现队列。
解题思路
感觉有$O(n)$的解法,但是想了好一会还是没想到,看了数据范围1e4,交了一发$O(n^2)$的过了。
原思路就是简单的来回倒。
题解思路
维护两个栈,一个维护插入,一个维护删除。需要删除的时候可以把插入栈里的元素全部倒进删除栈里,注意只有删除栈为空了,才会倒,否则会破坏元素的顺序。很巧妙。
代码
1 | class CQueue |
那时候年轻,不知道命运赠送的礼物,早已在暗中标好价格。
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content
--save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: true tags: true