Given two strings S and T, return if they are equal when both are typed into empty text editors. # means a backspace character.c#
Example 1:spa
Input: S = "ab#c", T = "ad#c" Output: true Explanation: Both S and T become "ac".
Example 2:code
Input: S = "ab##", T = "c#d#" Output: true Explanation: Both S and T become "".
Example 3:string
Input: S = "a##c", T = "#a#c" Output: true Explanation: Both S and T become "c".
Example 4:it
Input: S = "a#c", T = "b" Output: false Explanation: S becomes "c" while T becomes "b".
Note:io
1 <= S.length <= 200 1 <= T.length <= 200 S and T only contain lowercase letters and '#' characters.
Follow up:class
Can you solve it in O(N) time and O(1) space?im
class Solution { public boolean backspaceCompare(String S, String T) { return helper(S).equals(helper(T)); } private String helper(String str) { int count = 0; String res = ""; for (int i = str.length()-1; i >= 0; i--) { char ch = str.charAt(i); if (ch == '#') count++; else { if (count > 0) count--; //能不加就不加 else res += ch; //非加不可的字符 那就加吧 } } return res; } }