leetcode 38. Count and Say
阿新 • • 發佈:2018-12-09
題目解釋有點繞:大致意思是 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; } } };