加一
2016-05-31 17:23
323 查看
给定一个非负数,表示一个数字数组,在该数的基础上+1,返回一个新的数组。该数字按照大小进行排列,最大的数在列表的最前面。
给定
给定
public class Solution {
/**
* @param digits a number represented as an array of digits
* @return the result
* 不能直接将数组转为整数再计算!很可能越界!
*/
public int[] plusOne(int[] digits) {
// Write your code here
int num = digits.length;
while(true){
if(num == 0){//所有位数均为9
int newLength =digits.length+1;
int[] newDigits = new int[newLength];
newDigits[0] = 1;
for (int i = 1;i < newLength; i++){
newDigits[i] = 0;
}
return newDigits;
}
if (digits[num-1] == 9){
digits[num-1] = 0;//出现了9之后,要进位循环判断
num -= 1;
continue;
}
digits[num-1] += 1;
return digits;
}
}
}
给定
[1,2,3]表示 123, 返回
[1,2,4].
给定
[9,9,9]表示 999, 返回
[1,0,0,0].
public class Solution {
/**
* @param digits a number represented as an array of digits
* @return the result
* 不能直接将数组转为整数再计算!很可能越界!
*/
public int[] plusOne(int[] digits) {
// Write your code here
int num = digits.length;
while(true){
if(num == 0){//所有位数均为9
int newLength =digits.length+1;
int[] newDigits = new int[newLength];
newDigits[0] = 1;
for (int i = 1;i < newLength; i++){
newDigits[i] = 0;
}
return newDigits;
}
if (digits[num-1] == 9){
digits[num-1] = 0;//出现了9之后,要进位循环判断
num -= 1;
continue;
}
digits[num-1] += 1;
return digits;
}
}
}
相关文章推荐
- C语言练习篇-2交换两个变量的值
- centos安装MYSQL 5.6
- VS快捷键使用总结
- 【JavaScript】 高级函数
- MongoDB中Criteria查询
- Note.js的stream用法一例
- 經典算法001--冒泡排序
- 初学NodeJs
- 第10周 C语言程序设计(新2版) 第三章例题 swich统计数字、字符和其它符号
- 一、 FrameBuffer 原理、实现与应用 写屏(转)
- Dockfile
- 悬浮窗口的显示位置设置不生效的原因
- JVM学习笔记(四)------内存调优
- spring框架的控制反转(IoC)和注入依赖(DI)
- jQuery-遍历
- Office 365 如何导出用户的邮件到本地
- No.7
- 应用程序打包
- 迅捷pdf转换器——如何提取pdf中的图片
- Autoresizing