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效率更高一些


LeetCode第三十八题-报数


注:

1.StringBuffer是可变而String是不可变的StringBuffer对应的拼接方法是append()

2.StringBuffer转换为String可使用toString()方法

小白刷题之路,请多指教— — 要么大器晚成,要么石沉大海


LeetCode第三十八题-报数



分享到:


相關文章: