diff options
Diffstat (limited to 'backspace_string_compare.cpp')
-rw-r--r-- | backspace_string_compare.cpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/backspace_string_compare.cpp b/backspace_string_compare.cpp new file mode 100644 index 0000000..110e469 --- /dev/null +++ b/backspace_string_compare.cpp @@ -0,0 +1,36 @@ +#include "leetcode.h" + +class Solution { +public: + bool backspaceCompare(string s, string t) { + int k = 0, p = 0; + for (int i = 0; i < s.size(); i++) { + if (s[i] == '#') { + k--; + k = max(0, k); + } else { + s[k] = s[i]; + k++; + } + } + for (int i = 0; i < t.size(); i++) { + if (t[i] == '#') { + p--; + p = max(0, p); + } else { + t[p] = t[i]; + p++; + } + } + if (k != p) + return false; + else { + for (int i = 0; i < k; i++) + if (s[i] != t[i]) + return false; + return true; + } + } +}; + +int main() {} |