[LeetCode] 66. Plus One java
来源:互联网 发布:养女方知世道险 编辑:程序博客网 时间:2024/05/29 19:04
/**66. Plus One * @param digits * @return 模拟大数+1 */ public int[] plusOne(int[] digits) { int one = 1; int i; for(i = digits.length-1; i >= 0; i--) { int sum = digits[i] + one; if (sum > 9) { digits[i] = sum-10; one = sum/10; }else { digits[i] = sum; one = 0; } } if (i == -1 && one == 1) { int[] nums = new int[digits.length+1]; for(int j = nums.length-1; j > 0; j--) { nums[j] = digits[j-1]; } nums[0] = one; return nums; } return digits; } //处理个位、十位数 //新建一个数组赋值时注意下边范围,-1
先对原数组进行处理。从数组最后一位开始往前检查,如果当前数字是<9的,说明你加1无需进位,从循环跳出即可,如果当前数字等于9,说明加1涉及进位,且加1后当前数字应记为0,继续循环处理。
当对原数组处理完后,还需要判断当前第0位是不是已经变为0了,如果已经变为0了说明是类似99+1这种,需要进位。其他则不需要。
一般对数字进行操作的题都要考虑边界,尤其是溢出问题。
0 0
- (Java)LeetCode-66. Plus One
- 【leetcode】66. Plus One【java】
- [LeetCode] 66. Plus One java
- [leetcode]66. Plus One(Java)
- [Leetcode] Plus One (Java)
- [LeetCode][Java] Plus One
- Leetcode:66. Plus One(JAVA)
- [LeetCode]66.Plus One
- LeetCode --- 66. Plus One
- [Leetcode] 66. Plus One
- [leetcode] 66.Plus One
- [leetcode] 66. Plus One
- Leetcode-66. Plus One
- 【leetcode】66. Plus One
- 66. Plus One LeetCode
- 【LeetCode】66. Plus One
- [LeetCode]66. Plus One
- 【LeetCode】66. Plus One
- 增强for循环和普通for循环的区别
- 组合测试法中的全对偶测试法
- cocos2dx android编译报错
- jquery实现简单城市联动
- Polar码介绍
- [LeetCode] 66. Plus One java
- 优先级队列--最大堆
- JDK并发包(concurrent)
- zip+密码暴力破解
- openlayers3同时加载矢量地图和卫星地图
- 史上最全的MonkeyRunner自动化测试从入门到精通(10)
- [LeetCode] 70. Climbing Stairs java
- 【百纳BetaGo】基于蒙特卡洛搜索树的二人明牌斗地主博弈(二)
- RESETLOGS,NORESETLOGS