LeetCode75-2390-Remove-Stars-From-String

🧠 思路总结

  1. 注意这三个词:最近的、左边的、还没被删的,已经在暗示使用Stack了。
  2. 可以注意到每次要删除的都是 最后留下 的一个字符,而这个正好符合 后进先出 (LIFO),所以这就是Stack的特征

❗ 易错点 / 小坑

  • char 在 Java 里 必须且只能存 1 个字符,不能存储''

✅ 代码(Java)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Solution {
public String removeStars(String s) {
Stack<Character> stack = new Stack<>();
for (char c : s.toCharArray()) {
if (c == '*') {
if (!stack.isEmpty()) {
stack.pop();
}
} else {
stack.push(c);
}
}
StringBuilder sb = new StringBuilder();
for (char c : stack) {
sb.append(c);
}
return sb.toString();
}
}

LeetCode75-2390-Remove-Stars-From-String
https://powersixxx.github.io/leetcode-blog/2026/02/07/LeetCode75-2390-Remove-Stars-From-String/
作者
Baowen Liu
发布于
2026年2月7日
许可协议