题目的链接在这里:https://leetcode-cn.com/problems/backspace-string-compare/
题目大意
给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,请你判断二者是否相等。# 代表退格字符。如果相等,返回 true ;否则,返回 false 。
注意:如果对空文本输入退格字符,文本继续为空。
一、示意图
二、解题思路
StringBuffer
StringBuffer
代码如下:
class Solution {
public boolean backspaceCompare(String s, String t) {
StringBuffer sb1=new StringBuffer();
StringBuffer sb2=new StringBuffer();
//不然写一个方法
return getString(s,sb1).equals(getString(t,sb2));
}
private String getString(String s, StringBuffer sb1) {
//对s进行操作
for(int i=0;i<s.length();i++){
//先进行判断
if(s.charAt(i)=='#'){
//就可能存在两种 如果sb空的话
if(sb1.length()==0){
//说明是空的 那就不需要返回了
continue;
}
else{
//说明这个会让上一个删除掉
sb1.deleteCharAt(sb1.length()-1);
}
}else{
//如果不是的话 就进sb1中
sb1.append(s.charAt(i));
}
}
return sb1.toString();
}
}