# **Leetcode筆記(Backspace String Compare)**
:::info
:information_source: 題目 : Backspace String Compare, 類型 : stack , 等級 : easy
日期 : 2023/06/05,2024/11/19
:::
### 嘗試
2023/06/05 : 看不懂題目呀
2024/11/19 : something from the furture, you never expected that you worked at Amazon as an intern one year after. Always thanks the persistent and hard-working self in the past. See, you now even know how to code in nice function!
```python
class Solution:
def backspaceCompare(self, s: str, t: str) -> bool:
stack_s, stack_t = [], []
self.check(stack_s, s)
self.check(stack_t, t)
return stack_t == stack_s
def check(self, stack, string):
for c in string:
if c == "#":
if stack:
stack.pop()
else:
stack.append(c)
```
---
### **優化**
刪除鍵(backspace)
題目要求遇到#即刪除前一個字母,最後比看兩個字串有沒有一樣
注意 : 如果是stack的話,基本上都要確認其有沒有存在
時間複雜度O(n),空間複雜度O(n)
```python
class Solution:
def backspaceCompare(self, s: str, t: str) -> bool:
s_stack, t_stack = [], []
for c in s:
if c == "#":
# 題目說若stack中沒東西則不作為
if s_stack:
s_stack.pop()
else:
s_stack.append(c)
for c in t:
if c == "#":
if t_stack:
t_stack.pop()
else:
t_stack.append(c)
return s_stack == t_stack
```
---
**:warning: 錯誤語法**
:::warning
:::
**:thumbsup:學習**
:::success
:::
**思路**
**講解連結**
https://blog.csdn.net/fuxuemingzhu/article/details/80643408
Provided by. 负雪明烛
###### tags: `stack` `easy` `leetcode`