Title: Backspace String Compare 844
Difficulty:Easy
原题leetcode地址: https://leetcode.com/problems/backspace-string-compare/
1. 采用栈的特性
时间复杂度:O(n),两次一层for循环。
空间复杂度:O(n),申请栈Stack。
/**
* 采用栈的特性:先进后出
* @param S
* @param T
* @return
*/
public static boolean backspaceCompare(String S, String T) {
Stack<Character> stackS = new Stack<>();
Stack<Character> stackT = new Stack<>();
for (char c : S.toCharArray()) {
if (c != '#') {
stackS.push(c);
}
else if (!stackS.empty()) {
stackS.pop();
}
}
for (char c : T.toCharArray()) {
if (c != '#') {
stackT.push(c);
}
else if (!stackT.empty()) {
stackT.pop();
}
}
return String.valueOf(stackS).equals(String.valueOf(stackT));
}