[LeetCode]66. 加一(java实现)高精度加法
1. 题目
2. 读题(需要重点注意的东西)
思路(高精度加法):
解题思路就是简化版的高精度加法,详细请看[AcWing]791. 高精度加法(C++实现)模板题,具体不再赘述。
3. 解法
---------------------------------------------------解法---------------------------------------------------:
class Solution {
public int[] plusOne(int[] digits) {
int n = digits.length;
List<Integer> list = new ArrayList<Integer>();
// 倒转数组
for(int i = n - 1;i >= 0;i --) list.add(digits[i]);
// 高精度加法
int t = 1;
for(int i = 0;i < list.size();i ++)
{
t += list.get(i);
list.set(i,t % 10);
t /= 10;
}
if(t != 0) list.add(t);
// 将数组再转过来
int[] ans = new int[list.size()];
for(int i = 0;i < list.size();i ++)
{
ans[i] = list.get(list.size() - i - 1);
}
return ans;
}
}
可能存在的问题:
4. 可能有帮助的前置习题
5. 所用到的数据结构与算法思想
6. 总结
高精度加法模板题