劍指offer 面試題17 列印從1到最大的n位數

2021-09-12 14:48:54 字數 510 閱讀 1984

輸入數字n,按順序列印出從1到最大的n位十進位制數,比如輸入3,則列印出1,2,3一直到最大的3位數即999

首先考慮n的範圍,當輸入n很大的時候,我們求最大的n位數用int或者long都會溢位。最常用也是最容易的方法是用字串或者陣列表達大數。我們用字串來解決大數問題。

public

void

print1tomaxofdigits

(int n)

}public

void

print1tomaxofndigitsrecursively

(char

number,

int length,

int index)

for(

int i=

0;i<

10;i++)}

public

void

printnumber

(char

number)

}}

劍指offer 面試題17 列印從1到最大的n位數

問題 輸入數字n,按順序列印出從1到最大的n位十進位制數。輸入 n 輸出 列印數字 思路1 易錯思路 求出最大的n位十進位制數,然後for迴圈列印。錯誤原因 最大的n位十進位制數有可能超出int型 或longlong型 利用陣列 或字串 來表達大數。include include using nam...

劍指offer面試題17 列印從1到最大的n位數

題目要求 輸入數字 n,按順序列印出從 1 到最大的 n 位十進位制數。比如輸入 3,則列印出 1 2 3 一直到最大的 3 位數 999 解題思路 1.首先暴力法遍歷可以求解,但是大整數問題需要另一種思路 2.構建乙個stringbuilder字串,輸入的n為多少,就賦多少個0。3.當該字串沒有發...

劍指offer 面試題17

題目 合併兩個排序的單向鍊錶 自己所寫 如下 listnode mergesortedlists listnode phead1,listnode phead2 listnode mergetwolist listnode pfirst,listnode psecond if phead pnext...