mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 03:34:02 +08:00
844.比较含退格的字符串 添加Java版本
This commit is contained in:
@ -14,7 +14,7 @@
|
||||
给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。
|
||||
|
||||
注意:如果对空文本输入退格字符,文本继续为空。
|
||||
|
||||
|
||||
示例 1:
|
||||
* 输入:S = "ab#c", T = "ad#c"
|
||||
* 输出:true
|
||||
@ -160,6 +160,32 @@ public:
|
||||
|
||||
Java:
|
||||
|
||||
```java
|
||||
// 普通方法(使用栈的思路)
|
||||
class Solution {
|
||||
public boolean backspaceCompare(String s, String t) {
|
||||
StringBuilder ssb = new StringBuilder(); // 模拟栈
|
||||
StringBuilder tsb = new StringBuilder(); // 模拟栈
|
||||
// 分别处理两个 String
|
||||
for (char c : s.toCharArray()) {
|
||||
if (c != '#') {
|
||||
ssb.append(c); // 模拟入栈
|
||||
} else if (ssb.length() > 0){ // 栈非空才能弹栈
|
||||
ssb.deleteCharAt(ssb.length() - 1); // 模拟弹栈
|
||||
}
|
||||
}
|
||||
for (char c : t.toCharArray()) {
|
||||
if (c != '#') {
|
||||
tsb.append(c); // 模拟入栈
|
||||
} else if (tsb.length() > 0){ // 栈非空才能弹栈
|
||||
tsb.deleteCharAt(tsb.length() - 1); // 模拟弹栈
|
||||
}
|
||||
}
|
||||
return ssb.toString().equals(tsb.toString());
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Python:
|
||||
|
||||
Go:
|
||||
|
Reference in New Issue
Block a user