1. 题目原址
https://leetcode.com/problems/add-to-array-form-of-integer/
2. 题目描述
3. 题目大意
给定一个数组,和一个元素,将元素加到数组中
4. 解题思路
- 从后面往前面遍历数组,每一位都加k,然后更新 k 的值,并更跟对应位置的元素的值
- 最后如果 k 不为 0,说明元素的第一位加完溢出了,说明还需要第一位将溢出的k加上就可以了。
5. AC代码
class Solution {
public List<Integer> addToArrayForm(int[] A, int K) {
List<Integer> ret = new ArrayList<Integer>();
int i = A.length - 1;
while(K > 0 && i >= 0) {
int sum = A[i] + K;
A[i] = sum % 10;
K = sum / 10;
i --;
}
while(K > 0) {
ret.add(0,K % 10);
K /= 10;
}
for(int num: A)
ret.add(num);
return ret;
}
}
6. 相似题型
【1】 2. Add Two Numbers 题目原址:https://leetcode.com/problems/add-two-numbers/
【2】 66. Plus One 题目原址:https://leetcode.com/problems/plus-one/
【3】 67. Add Binary 题目原址:https://leetcode.com/problems/add-binary/
【4】 415. Add Strings 题目原址:https://leetcode.com/problems/add-strings/