欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

leetcode 38. Count and Say

程序员文章站 2022-03-23 18:15:14
...

leetcode 38. Count and Say

题目解释有点绕:大致意思是 1 可以读作 1个1(11)    11可以读作2个1(21).。。。

明白题意后,可以想到,遍历字符串,计数重复的数字,连接字符串即可

class Solution {
public:
    string countAndSay(int n) {
        if(n == 1){
            return "1";
        }else{
            n -= 1;
            string str = "1";
            while(n--){
                string tmp = "";
                int count = 1;
                for(int i = 0;i <str.size();++i ){
                    
                    if((str[i] == str[i+1]) && ((i+1) <str.size())){
                        count++;
                        continue;
                    }else{
                        
                        tmp =  tmp+ to_string(count) + str[i];
                        count = 1;
                    }
                }
                str = tmp;
            }  
             return str;
        }
       
    }

};

 

 

相关标签: leetcode