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第三十八題-報數



分享到:


相關文章: