leetcode——38——Count and Say

1215 ワード

The count-and-say sequence is the sequence of integers beginning as follows: 1, 11, 21, 1211, 111221, ... 1 is read off as "one 1" or 11 . 11 is read off as "two 1s" or 21 . 21 is read off as "one 2 , then one 1" or 1211 .
Given an integer n, generate the nth sequence.
Note: The sequence of integers will be represented as a string.
class Solution {
public:
    string countAndSay(int n) {
       
          string s = "1";
          for(int i = 1; i < n; ++ i)
         {
             int count = 1;
             string temp = "";
             for(int j = 1; j < s.size(); ++ j)
             {
                 if(s[j] == s[j - 1])
                     ++ count;
                 else
                 {
                     temp = temp + (char)(count + '0') + s[j - 1];
                     count = 1;
                 }
             }
             s = temp + (char)(count + '0') + s[s.size() - 1];
         }
         return s;


    }
};