aboutsummaryrefslogtreecommitdiff
path: root/backspace_string_compare.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'backspace_string_compare.cpp')
-rw-r--r--backspace_string_compare.cpp36
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() {}