66. 加一
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。
示例 1:
输入: [1,2,3]
输出: [1,2,4]
解释: 输入数组表示数字 123。
示例 2:
输入: [4,3,2,1]
输出: [4,3,2,2]
解释: 输入数组表示数字 4321。
在真实的面试中遇到过这道题?
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/plus-one
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
public class PlusOne { public static int[] plusone(int[] s){ int len=s.length+1; int[] carry=new int[len]; for(int i=0;i<carry.length;i++) { if(i==carry.length-1){ carry[i]=1;} else{ carry[i]=0; } } for(int j=carry.length-1;j>0;j--) { int tmp=s[j-1]+carry[j]; if(tmp>=10){ carry[j]=tmp%10; carry[j-1]=1; }else{ carry[j]=tmp; } } return carry; } public static void main(String[] args) { // TODO Auto-generated method stub int[] s={1,2,3,4}; int[] ks=plusone(s); int[] ts={9,9,9,9}; int[] gs=plusone(ts); for(int k=0;k<ks.length;k++) { //System.out.println(ks[k]); System.out.println(gs[k]); } } }

浙公网安备 33010602011771号