diff --git a/problems/0225.用队列实现栈.md b/problems/0225.用队列实现栈.md index 94c79404..13b742f8 100644 --- a/problems/0225.用队列实现栈.md +++ b/problems/0225.用队列实现栈.md @@ -25,11 +25,11 @@ * 你所使用的语言也许不支持队列。 你可以使用 list 或者 deque(双端队列)来模拟一个队列 , 只要是标准的队列操作即可。 * 你可以假设所有操作都是有效的(例如, 对一个空的栈不会调用 pop 或者 top 操作)。 +## 算法公开课 -# 思路 +**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[队列的基本操作! | LeetCode:225. 用队列实现栈](https://www.bilibili.com/video/BV1Fd4y1K7sm),相信结合视频再看本篇题解,更有助于大家对本题的理解**。 - -《代码随想录》算法公开课:[队列的基本操作! | LeetCode:225. 用队列实现栈](https://www.bilibili.com/video/BV1Fd4y1K7sm),相信结合视频再看本篇题解,更有助于大家对链表的理解。 +## 思路 (这里要强调是单向队列) @@ -114,7 +114,7 @@ public: * 时间复杂度: push为O(n),其他为O(1) * 空间复杂度: O(n) -# 优化 +## 优化 其实这道题目就是用一个队列就够了。 @@ -162,9 +162,9 @@ public: * 空间复杂度: O(n) -# 其他语言版本 +## 其他语言版本 -Java: +### Java: 使用两个 Queue 实现方法1 ```java @@ -404,7 +404,7 @@ class MyStack { } ``` -Python: +### Python: ```python from collections import deque @@ -496,8 +496,7 @@ class MyStack: return not self.que ``` - -Go: +### Go: 使用两个队列实现 ```go @@ -628,9 +627,7 @@ func (this *MyStack) Empty() bool { */ ``` - - -javaScript: +### JavaScript: 使用数组(push, shift)模拟队列 @@ -740,7 +737,7 @@ MyStack.prototype.empty = function() { ``` -TypeScript: +### TypeScript: 版本一:使用两个队列模拟栈 @@ -812,7 +809,7 @@ class MyStack { } ``` -Swift +### Swift: ```Swift // 定义一个队列数据结构 @@ -931,8 +928,9 @@ class MyStack { } } ``` -Scala: +### Scala: 使用两个队列模拟栈: + ```scala import scala.collection.mutable @@ -1015,8 +1013,8 @@ class MyStack() { } ``` +### C#: -C#: ```csharp public class MyStack { Queue queue1; @@ -1051,8 +1049,9 @@ public class MyStack { } ``` -PHP -> 双对列 +### PHP: + +> 双队列 ```php // SplQueue 类通过使用一个双向链表来提供队列的主要功能。(PHP 5 >= 5.3.0, PHP 7, PHP 8) // https://www.php.net/manual/zh/class.splqueue.php @@ -1130,6 +1129,8 @@ class MyStack { } ``` +### Rust: + > rust:单队列 ```rust