Lintcode 用遞迴列印數字

2021-07-11 04:02:12 字數 836 閱讀 9687

用遞迴的方法找到從1到最大的n位整數。

注意事項

用下面這種方式去遞迴其實很容易:

recursion(i)

但是這種方式會耗費很多的遞迴空間,導致堆疊溢位。你能夠用其他的方式來遞迴使得遞迴的深度最多只有 n 層麼?

樣例 給出 n = 1, 返回[1,2,3,4,5,6,7,8,9].

給出 n = 2, 返回[1,2,3,4,5,6,7,8,9,10,11,…,99].

挑戰 用遞迴完成,而非迴圈的方式。

測試用例:

1.n = 0 時,應該返回空的vector

2.n >0 時

#include 

#include

class solution

char * number = new

char[n+1];

//bool flag = false;

number[n] = '\0';

for(int i = 0; i< 10; i++)

delete number;//new 完後要記得釋放記憶體

return numarr;

}void recursion(vector

&numarr,char * num,int length ,int index)

return;

}for(int i = 0; i< 10; i++)

return;//這裡之前忘記寫return了,這個是計算完第i位(i+1位後面的也計算完返回了,如果不加return,直接停在這一層,所以不會繼續返回到第i-1位的計算當中)

}};

lintcode 用遞迴列印數字

遞迴的方法找到從1到最大的n位整數。樣例給出n 1,返回 1,2,3,4,5,6,7,8,9 給出n 2,返回 1,2,3,4,5,6,7,8,9,10,11,99 注意用下面這種方式去遞迴其實很容易 recursion i 但是這種方式會耗費很多的遞迴空間,導致堆疊溢位。你能夠用其他的方式來遞迴使...

LintCode 用遞迴列印數字

用遞迴的方法找到從1到最大的n位整數。樣例 給出n 1,返回 1,2,3,4,5,6,7,8,9 給出n 2,返回 1,2,3,4,5,6,7,8,9,10,11,99 挑戰 用遞迴完成,而非迴圈的方式。方法一 迴圈輸出 最大的數為10 n 1 class solution for int j 1 ...

LintCode 371 用遞迴列印數字

用遞迴的方法找到從1到最大的n位整數。注意事項 用下面這種方式去遞迴其實很容易 recursion i 但是這種方式會耗費很多的遞迴空間,導致堆疊溢位。你能夠用其他的方式來遞迴使得遞迴的深度最多只有 n 層麼?樣例 給出n 1,返回 1,2,3,4,5,6,7,8,9 給出n 2,返回 1,2,3,...