1 --> 11 --> 21 --> 1211 --> 111221 --> 312211 --> .....
1个1 2个1 1个2,1个1 1个1 1个2,2个1 3个1,2个2,1个1 依次类推
题目很简单,但是为了得到较好的结果,还木纠纄了一杢毼间
public class countAndSay {public String countAndSay(int n) {
String num = "1";
for(int m = 1; m<n ; m++ ){
num = getString(num);
}
return num;
}
public String getString(String num){
StringBuffer result = new StringBuffer();
int j = 0 , i = 0 , n = 0;
while( i< num.length()){
char ch = num.charAt(i);
while( j < num.length() && ch == num.charAt(j) )
j++;
n = j - i;
result.append(n).append(ch-'0');
i = j;
}
return result.toString();
}
}
所以得出的结论就是 1:StringBuffer 儨有些情况下优于 String 主褤就暄垞现俙䇌字符串进行多次操作的怜”应该瘯StringBuffer,速度輯快
〉 2:就是ch == num.charAt(j) 与 num.charAt(j) == ch 并亠一样,前者要优于后者。
还没有评论,来说两句吧...