LeetCode第三十八题-报数
Count and Say
问题简介:输入指定整数n,输出对应n的字符串序列
注:
1.第n个序列是对第n - 1个序列结果数字的个数求和
2.第一个序列即n = 1结果为"1"
举例:
1.
输入:1
输出:“1”
2.
输入:2
输出:“11”
解释:看n-1即2-1结果为1的序列,解释为1个1即11
3.
输入:3
输出:“21”
解释:看n-1即3-1结果为2的序列,解释为2个1即21
4.
输入:4
输出:“1211”
解释:看n-1即4-1结果为3的序列,解释为1个2和1个1即1211
5.
输入:5
输出:“111221”
解释:看n-1即5-1结果为4的序列,解释为1个1和1个2和2个1即111221
解法一:利用递归的思想找到当前n对应的第n - 1的结果字符串,对其遍历,对其中的元素进行计数即相同加一不同就拼接到结果字符串中,利用StringBuffer效率更高一些
注:
1.StringBuffer是可变而String是不可变的StringBuffer对应的拼接方法是append()
2.StringBuffer转换为String可使用toString()方法
小白刷题之路,请多指教— — 要么大器晚成,要么石沉大海