1957. Delete Characters to Make Fancy String

 JAVA

  • class Solution {
        public String makeFancyString(String s) {
            StringBuffer sb = new StringBuffer();
            int length = s.length();
            char prev = ' ';
            int count = 1;
            for (int i = 0; i < length; i++) {
                char curr = s.charAt(i);
                if (curr == prev)
                    count++;
                else {
                    count = 1;
                    prev = curr;
                }
                if (count < 3)
                    sb.append(curr);
            }
            return sb.toString();
        }
    }
    
    ############
    
    class Solution {
        public String makeFancyString(String s) {
            StringBuilder ans = new StringBuilder();
            for (char c : s.toCharArray()) {
                int n = ans.length();
                if (n > 1 && ans.charAt(n - 1) == c && ans.charAt(n - 2) == c) {
                    continue;
                }
                ans.append(c);
            }
            return ans.toString();
        }
    }

C++

class Solution {
public:
    string makeFancyString(string s) {
        int i = 0, j = 0, N = s.size();
        while (i < N) {
            int start = i;
            while (i < N && s[i] == s[start]) {
                if (i - start < 2) s[j++] = s[i];
                ++i;
            }
        }
        s.resize(j);
        return s;
    }
};

Comments