本文主要是介绍leetcode66-Plus One,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这道题目要求整数数组加1,考的点无非就是数组的遍历,不过这道题目是要倒着遍历而已。联想到我们计算加法时候的法则,如果某位数字加1超过10那么就要进位,所以要有一个变量标识这个进位位,特别注意最高位是9并且发生进位的情况
public class plusOne {public static void main(String[] args) {int[] arr = {8,9,9,9};int[] brr = plusOne(arr);for(int i = 0;i<brr.length;i++) {System.out.println(brr[i]);}}public static int[] plusOne(int[] arr) {int count = 0;int len = arr.length;for(int i = len-1;i>=0;i--) {int num = 0;if(i==len-1) {num = arr[i] + 1;} else {num = arr[i] +count;}if(num >= 10) {arr[i] = num % 10;count = num / 10;} else {arr[i] = num;count = 0;}}if(count >= 1) {int[] brr = new int[len+1];brr[0] = 1;for(int i = 1;i<brr.length;i++) {brr[i] = arr[i-1];}return brr;} else {return arr;}}
}
这篇关于leetcode66-Plus One的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!