题目描述:输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数即 999。

i c } m l p a o s r s f } f } f } t u u u F n n n F o c c c o r v w } v v v f } r v f } r u 1 p a h i a a a o e p a o e n 2 r r i n r r r r t r r r t d S i l c u i u a o n n e p r i c s i s i } i } } r n i r i } i r t l t u r e s a u n u f f e n t n f n n i u M m ! i m O r m d m l P d i d o t a s i n e v r e i s s i r e n r e S n i x n t n e y = x = n s u i } } e n b s e x b x t o ( = c ( t r d u m f e u r O S n ! r r n _ r p N F = 0 i I e m l { m e v t = u = e + i A e r u l n n x > i s s a e r m a = n { n r m i m o 0 t + = n i e s c n [ k r i 0 s " k g : r e n b w ( ( = = d s u a u i ; F n 0 1 ( a n t e 0 n = 1 e O { m r m n l g { " n I y t P r = . u 1 0 x v r s d o ( u n ( N r ( . m n e - y [ e w _ { m t r u e _ f < s u { = r = i x s ) e m S a n [ m = F = n ] n [ p b t n l u i s l 1 d u n { e e r u s m n . 0 o 0 1 e = m u a r i m e s d c w x s m t ( n s . e o { ] S : s i & g : c x u = t . n n ( o ] n = r S i g u n i u ) t t i t n : m u n n ! r " n r d s m o t - u 0 g i e " ) s u ) + e " ( n x 0 . t . 1 s g ( " { j r c u ) n , o [ e a { m u i S v r ) m c n t e r s o e r r y . u d i s S s n ( n e t t t ) g d r a : ) ] ( i r ) ) ) n t n g I ) { n { d e B x o , o l o f { f s e t B y : i n d e x ) . . . ] )

算法思想:由于 n 可能会非常大,因此不能直接用 int 表示数字,而是用 char 数组进行存储。使用回溯法得到所有的数。

github地址:https://github.com/cubegao/LeetCode