Stringbuilder清除最后一个字符1
时间: 2023-05-22 19:02:16 浏览: 168
可以使用StringBuilder的deleteCharAt方法来删除最后一个字符,示例代码如下:
StringBuilder sb = new StringBuilder("example string");
sb.deleteCharAt(sb.length() - 1); // 删除最后一个字符
System.out.println(sb.toString()); // 输出 "example strin"
注意,如果StringBuilder为空,或者只有一个字符,那么调用deleteCharAt方法会抛出StringIndexOutOfBoundsException异常。
相关问题
c#清除stringbuilder
要清除一个 StringBuilder 对象,可以使用其 Clear() 方法。这个方法会将 StringBuilder 对象的内容设置为空字符串。
示例代码如下:
```csharp
StringBuilder sb = new StringBuilder();
// 添加一些内容到 StringBuilder 对象中
sb.Append("Hello");
sb.Append("World");
// 清除 StringBuilder 对象的内容
sb.Clear();
```
字符串消除java
以下是一个基于栈的 Java 实现:
```java
import java.util.Stack;
public class StringElimination {
public static String eliminate(String s) {
Stack<Character> stack = new Stack<>();
for (char c : s.toCharArray()) {
if (!stack.isEmpty() && stack.peek() == c) {
stack.pop();
} else {
stack.push(c);
}
}
StringBuilder sb = new StringBuilder();
for (char c : stack) {
sb.append(c);
}
return sb.toString();
}
public static void main(String[] args) {
String s = "abbaca";
System.out.println(eliminate(s)); // 输出 "ca"
}
}
```
算法的思路是使用一个栈来维护字符串中未被消除的字符。遍历字符串中的每个字符,如果栈顶字符与当前字符相同,则将栈顶字符弹出;否则将当前字符压入栈中。最后将栈中的字符组合成一个新的字符串返回即可。