leetcode 38. Count and Say
程序员文章站
2022-03-23 18:15:14
...
题目解释有点绕:大致意思是 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;
}
}
};