844. Backspace String Compare
Given two strings s
and t
, return true
if they are equal when both are typed into empty text editors. '#'
means a backspace character.
Note that after backspacing an empty text, the text will continue empty.
Example 1:
Example 2:
Example 3:
Constraints:
1 <= s.length, t.length <= 200
s
andt
only contain lowercase letters and'#'
characters.
Follow up: Can you solve it in O(n)
time and O(1)
space?
Solution:
class Solution {
public boolean backspaceCompare(String s, String t) {
StringBuilder sbS = new StringBuilder();
StringBuilder sbT = new StringBuilder();
for (int i = 0; i < s.length(); i++){
if(s.charAt(i) == '#'){
if (sbS.length() > 0){
sbS.deleteCharAt(sbS.length() - 1);
}
}else{
sbS.append(s.charAt(i));
}
}
for (int i = 0; i < t.length(); i++){
if(t.charAt(i) == '#' ){
if (sbT.length() > 0){
sbT.deleteCharAt(sbT.length() - 1);
}
}else{
sbT.append(t.charAt(i));
}
}
if (sbS.toString().equals(sbT.toString())){
return true;
}else{
return false;
}
}
}
// TC: O(n)
// SC: O(n)