用遞迴的方法找到從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,...