【LeetCode】38.报数

class Solution {
public:
    string countAndSay(int n) {
        string str,ans;
        str="1";
        if(n--==1) return str;
        while(n--){
            ans.clear();
            int left=0,right=0;
            while(right<str.size()){
                if(str[right]==str[left]) right++;
                else{
                    ans+=(right-left+'0');
                    ans+=str[left];
                    left=right;
                    right++;
                }
            }
            ans+=(right-left+'0');
            ans+=str[left];
            str=ans;
        }
        
        return ans;
    }
};

  

posted @ 2018-05-09 23:12  Little_Shel  阅读(124)  评论(0编辑  收藏  举报