diff --git a/problems/0111.二叉树的最小深度.md b/problems/0111.二叉树的最小深度.md
index 430cd5d6..6c6b4632 100644
--- a/problems/0111.二叉树的最小深度.md
+++ b/problems/0111.二叉树的最小深度.md
@@ -195,9 +195,51 @@ public:
Java:
-
Python:
+递归法:
+
+```python
+class Solution:
+ def minDepth(self, root: TreeNode) -> int:
+ if not root:
+ return 0
+ if not root.left and not root.right:
+ return 1
+
+ min_depth = 10**9
+ if root.left:
+ min_depth = min(self.minDepth(root.left), min_depth) # 获得左子树的最小高度
+ if root.right:
+ min_depth = min(self.minDepth(root.right), min_depth) # 获得右子树的最小高度
+ return min_depth + 1
+```
+
+迭代法:
+
+```python
+class Solution:
+ def minDepth(self, root: TreeNode) -> int:
+ if not root:
+ return 0
+ que = deque()
+ que.append(root)
+ res = 1
+
+ while que:
+ for _ in range(len(que)):
+ node = que.popleft()
+ # 当左右孩子都为空的时候,说明是最低点的一层了,退出
+ if not node.left and not node.right:
+ return res
+ if node.left is not None:
+ que.append(node.left)
+ if node.right is not None:
+ que.append(node.right)
+ res += 1
+ return res
+```
+
Go:
@@ -208,4 +250,4 @@ Go:
* 作者微信:[程序员Carl](https://mp.weixin.qq.com/s/b66DFkOp8OOxdZC_xLZxfw)
* B站视频:[代码随想录](https://space.bilibili.com/525438321)
* 知识星球:[代码随想录](https://mp.weixin.qq.com/s/QVF6upVMSbgvZy8lHZS3CQ)
-
+
\ No newline at end of file
diff --git a/problems/0225.用队列实现栈.md b/problems/0225.用队列实现栈.md
index 49b5c62b..4018364a 100644
--- a/problems/0225.用队列实现栈.md
+++ b/problems/0225.用队列实现栈.md
@@ -154,9 +154,58 @@ public:
## 其他语言版本
-
Java:
+```java
+class MyStack {
+
+ Queue queue1; // 和栈中保持一样元素的队列
+ Queue queue2; // 辅助队列
+
+ /** Initialize your data structure here. */
+ public MyStack() {
+ queue1 = new LinkedList<>();
+ queue2 = new LinkedList<>();
+ }
+
+ /** Push element x onto stack. */
+ public void push(int x) {
+ queue2.offer(x); // 先放在辅助队列中
+ while (!queue1.isEmpty()){
+ queue2.offer(queue1.poll());
+ }
+ Queue queueTemp;
+ queueTemp = queue1;
+ queue1 = queue2;
+ queue2 = queueTemp; // 最后交换queue1和queue2,将元素都放到queue1中
+ }
+
+ /** Removes the element on top of the stack and returns that element. */
+ public int pop() {
+ return queue1.poll(); // 因为queue1中的元素和栈中的保持一致,所以这个和下面两个的操作只看queue1即可
+ }
+
+ /** Get the top element. */
+ public int top() {
+ return queue1.peek();
+ }
+
+ /** Returns whether the stack is empty. */
+ public boolean empty() {
+ return queue1.isEmpty();
+ }
+}
+
+/**
+ * Your MyQueue object will be instantiated and called as such:
+ * MyQueue obj = new MyQueue();
+ * obj.push(x);
+ * int param_2 = obj.pop();
+ * int param_3 = obj.peek();
+ * boolean param_4 = obj.empty();
+ */
+```
+
Python:
@@ -227,4 +276,4 @@ Go:
* 作者微信:[程序员Carl](https://mp.weixin.qq.com/s/b66DFkOp8OOxdZC_xLZxfw)
* B站视频:[代码随想录](https://space.bilibili.com/525438321)
* 知识星球:[代码随想录](https://mp.weixin.qq.com/s/QVF6upVMSbgvZy8lHZS3CQ)
-
+
\ No newline at end of file
diff --git a/problems/0232.用栈实现队列.md b/problems/0232.用栈实现队列.md
index 9907b476..abdc363d 100644
--- a/problems/0232.用栈实现队列.md
+++ b/problems/0232.用栈实现队列.md
@@ -19,7 +19,7 @@ push(x) -- 将一个元素放入队列的尾部。
pop() -- 从队列首部移除元素。
peek() -- 返回队列首部的元素。
empty() -- 返回队列是否为空。
-
+
示例:
@@ -129,9 +129,62 @@ public:
## 其他语言版本
-
Java:
+```java
+class MyQueue {
+
+ Stack stack1;
+ Stack stack2;
+
+ /** Initialize your data structure here. */
+ public MyQueue() {
+ stack1 = new Stack<>(); // 负责进栈
+ stack2 = new Stack<>(); // 负责出栈
+ }
+
+ /** Push element x to the back of queue. */
+ public void push(int x) {
+ stack1.push(x);
+ }
+
+ /** Removes the element from in front of queue and returns that element. */
+ public int pop() {
+ dumpStack1();
+ return stack2.pop();
+ }
+
+ /** Get the front element. */
+ public int peek() {
+ dumpStack1();
+ return stack2.peek();
+ }
+
+ /** Returns whether the queue is empty. */
+ public boolean empty() {
+ return stack1.isEmpty() && stack2.isEmpty();
+ }
+
+ // 如果stack2为空,那么将stack1中的元素全部放到stack2中
+ private void dumpStack1(){
+ if (stack2.isEmpty()){
+ while (!stack1.isEmpty()){
+ stack2.push(stack1.pop());
+ }
+ }
+ }
+}
+
+/**
+ * Your MyQueue object will be instantiated and called as such:
+ * MyQueue obj = new MyQueue();
+ * obj.push(x);
+ * int param_2 = obj.pop();
+ * int param_3 = obj.peek();
+ * boolean param_4 = obj.empty();
+ */
+```
+
Python:
@@ -145,4 +198,4 @@ Go:
* 作者微信:[程序员Carl](https://mp.weixin.qq.com/s/b66DFkOp8OOxdZC_xLZxfw)
* B站视频:[代码随想录](https://space.bilibili.com/525438321)
* 知识星球:[代码随想录](https://mp.weixin.qq.com/s/QVF6upVMSbgvZy8lHZS3CQ)
-
+
\ No newline at end of file