420. Count and Say

简单,更像个脑筋急转弯,注意的地方如下

  1. n=1时候不要经过循环,n的数字其实应该经过n-1次count and say的循环。一开始搞错了结果就是差了一层。要用for(int i=1; i<n;i++)
  2. 查看老字符串的时候,不要用

for(int k=1; k<res.length(); k++){
 if(res.charAt(k) == res.charAt(k-1)){

而是

for(int k=0; k<res.length(); k++){
 if(k+1<res.length() && res.charAt(k) == res.charAt(k+1)){

因为第一个res的长度肯定是1。那样的话,第一层循环k=1, k<1, 也就是永远不会循环到。多注意边缘条件。第一个循环和最后一个循环自己带进去看看再说。也不可以写成for(int k=0; k<res.length()-1; k++){,一样的道理。刚开始k=0, k<0. 没能进入循环。