1 /**
2 * @param {number} n
3 * @return {string}
4 */
5 var countAndSay = function (n) {
6 if (n === 1) {
7 return '1';
8 }
9 let str = '1';
10 while (true) {
11 let newStr = '';
12 const charArr = str.split('')
13 const ll = charArr.length;
14 let t = charArr[0];
15 let sum = 1;
16 for (let i = 1; i < ll; i++) {
17 const newt = charArr[i];
18 if (newt === t) {
19 sum++;
20 } else {
21 newStr = newStr + String(sum) + t;
22 t = newt;
23 sum = 1;
24 }
25 }
26 newStr = newStr + String(sum) + t;
27 if (n === 2) {
28 return newStr;
29 } else {
30 n = n - 1;
31 str = newStr;
32 }
33 }
34 };