diff --git a/compress_swaroop-phatak.cpp b/compress_swaroop-phatak.cpp new file mode 100644 index 0000000..3e4d4aa --- /dev/null +++ b/compress_swaroop-phatak.cpp @@ -0,0 +1,17 @@ +class Solution { +public: + int compress(vector& chars) { + int i = 0, ans = 0; + while (i < chars.size()) { + int j = i; + while (j < chars.size() && chars[j] == chars[i]) j++; + chars[ans++] = chars[i]; + if (j - i > 1) { + string cnt = to_string(j - i); + for (char c : cnt) chars[ans++] = c; + } + i = j; + } + return ans; + } +};