Advertisement
Guest User

Untitled

a guest
Jun 17th, 2019
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.53 KB | None | 0 0
  1. in: daabbcccbbaad out: dd
  2. in: aaabbb out:
  3. in: aaabbbc out: c
  4.  
  5. void removeDup(string& s, int start) {
  6. if (s.length() < 3) {
  7. return;
  8. }
  9.  
  10. if (start > s.length() - 2) return;
  11.  
  12. int count = 1;
  13. char c = s[start];
  14.  
  15. int i = start + 1;
  16.  
  17. while (i < s.length() && s[i] == c) {
  18. ++count, ++i;
  19. }
  20.  
  21. if (count >= 3) {
  22. start = i - count - 2;
  23. if (start < 0) start = 0;
  24. s.erase(i - count, count);
  25. } else {
  26. start = i;
  27. }
  28.  
  29. return removeDup(s, start);
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement