mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-06 15:09:40 +08:00
更新 1047.删除字符串中的所有相邻重复项 排版格式修复
This commit is contained in:
@ -5,8 +5,6 @@
|
||||
<p align="center"><strong><a href="https://mp.weixin.qq.com/s/tqCxrMEU-ajQumL1i8im9A">参与本项目</a>,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!</strong></p>
|
||||
|
||||
|
||||
|
||||
|
||||
> 匹配问题都是栈的强项
|
||||
|
||||
# 1047. 删除字符串中的所有相邻重复项
|
||||
@ -30,11 +28,13 @@
|
||||
* 1 <= S.length <= 20000
|
||||
* S 仅由小写英文字母组成。
|
||||
|
||||
# 思路
|
||||
## 算法公开课
|
||||
|
||||
《代码随想录》算法视频公开课:[栈的好戏还要继续!| LeetCode:1047. 删除字符串中的所有相邻重复项](https://www.bilibili.com/video/BV12a411P7mw),相信结合视频在看本篇题解,更有助于大家对本题的理解。
|
||||
**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[栈的好戏还要继续!| LeetCode:1047. 删除字符串中的所有相邻重复项](https://www.bilibili.com/video/BV12a411P7mw),相信结合视频再看本篇题解,更有助于大家对本题的理解**。
|
||||
|
||||
## 正题
|
||||
## 思路
|
||||
|
||||
### 正题
|
||||
|
||||
本题要删除相邻相同元素,相对于[20. 有效的括号](https://programmercarl.com/0020.%E6%9C%89%E6%95%88%E7%9A%84%E6%8B%AC%E5%8F%B7.html)来说其实也是匹配问题,20. 有效的括号 是匹配左右括号,本题是匹配相邻元素,最后都是做消除的操作。
|
||||
|
||||
@ -105,7 +105,7 @@ public:
|
||||
* 时间复杂度: O(n)
|
||||
* 空间复杂度: O(1),返回值不计空间复杂度
|
||||
|
||||
## 题外话
|
||||
### 题外话
|
||||
|
||||
这道题目就像是我们玩过的游戏对对碰,如果相同的元素挨在一起就要消除。
|
||||
|
||||
@ -125,8 +125,7 @@ public:
|
||||
|
||||
## 其他语言版本
|
||||
|
||||
|
||||
Java:
|
||||
### Java:
|
||||
|
||||
使用 Deque 作为堆栈
|
||||
```Java
|
||||
@ -203,7 +202,8 @@ class Solution {
|
||||
}
|
||||
```
|
||||
|
||||
Python:
|
||||
### Python:
|
||||
|
||||
```python
|
||||
# 方法一,使用栈
|
||||
class Solution:
|
||||
@ -239,7 +239,7 @@ class Solution:
|
||||
return ''.join(res[0: slow])
|
||||
```
|
||||
|
||||
Go:
|
||||
### Go:
|
||||
|
||||
```go
|
||||
func removeDuplicates(s string) string {
|
||||
@ -258,7 +258,7 @@ func removeDuplicates(s string) string {
|
||||
}
|
||||
```
|
||||
|
||||
javaScript:
|
||||
### JavaScript:
|
||||
|
||||
法一:使用栈
|
||||
|
||||
@ -295,7 +295,7 @@ var removeDuplicates = function(s) {
|
||||
};
|
||||
```
|
||||
|
||||
TypeScript:
|
||||
### TypeScript:
|
||||
|
||||
```typescript
|
||||
function removeDuplicates(s: string): string {
|
||||
@ -318,7 +318,7 @@ function removeDuplicates(s: string): string {
|
||||
};
|
||||
```
|
||||
|
||||
C:
|
||||
### C:
|
||||
方法一:使用栈
|
||||
|
||||
```c
|
||||
@ -371,7 +371,8 @@ char * removeDuplicates(char * s){
|
||||
}
|
||||
```
|
||||
|
||||
Swift:
|
||||
### Swift:
|
||||
|
||||
```swift
|
||||
func removeDuplicates(_ s: String) -> String {
|
||||
var stack = [Character]()
|
||||
@ -386,8 +387,8 @@ func removeDuplicates(_ s: String) -> String {
|
||||
}
|
||||
```
|
||||
|
||||
### C#:
|
||||
|
||||
C#:
|
||||
```csharp
|
||||
public string RemoveDuplicates(string s) {
|
||||
//拿字符串直接作为栈,省去了栈还要转为字符串的操作
|
||||
@ -405,8 +406,8 @@ public string RemoveDuplicates(string s) {
|
||||
}
|
||||
```
|
||||
|
||||
### PHP:
|
||||
|
||||
PHP:
|
||||
```php
|
||||
class Solution {
|
||||
function removeDuplicates($s) {
|
||||
@ -431,8 +432,8 @@ class Solution {
|
||||
}
|
||||
```
|
||||
|
||||
### Scala:
|
||||
|
||||
Scala:
|
||||
```scala
|
||||
object Solution {
|
||||
import scala.collection.mutable
|
||||
@ -455,7 +456,7 @@ object Solution {
|
||||
}
|
||||
```
|
||||
|
||||
rust:
|
||||
### Rust:
|
||||
|
||||
```rust
|
||||
impl Solution {
|
||||
|
Reference in New Issue
Block a user