题解 | #打印从1到最大的n位数#
打印从1到最大的n位数
http://www.nowcoder.com/practice/4436c93e568c48f6b28ff436173b997f
题目描述
输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。
- 用返回一个整数列表来代替打印
- n 为正整数,0 < n <= 5
示例1 输入:1
返回值:[1,2,3,4,5,6,7,8,9]
代码
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param n int整型 最大位数
* @return int整型vector
*/
vector<int> printNumbers(int n) {
// write code here
int maxNumber = 1;
while(n){//先得到最大数字
maxNumber= maxNumber*10;
n--;
}
maxNumber = maxNumber-1;//maxNumber=10^n-1
vector<int> v(maxNumber,0);
for(int i=0;i<maxNumber;i++){
v[i] = i+1;
}
return v;
}
};
查看12道真题和解析