- Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathSolution989.java
More file actions
Latest commit
executable file
·66 lines (58 loc) · 1.83 KB
/
Copy pathSolution989.java
File metadata and controls
executable file
·66 lines (58 loc) · 1.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
importjavax.swing.*;
importjava.util.ArrayList;
importjava.util.Collections;
importjava.util.List;
importjava.util.stream.Collectors;
importjava.util.stream.IntStream;
publicclassSolution989 {
publicList<Integer> addToArrayForm(int[] A, intK) {
intKLen = Integer.toString(K).length();
StringKStr = Integer.toString(K);
List<Integer> KList = newArrayList<Integer>();
for (inti = 0; i < KLen; i++) {
KList.add( Integer.parseInt(String.valueOf(KStr.charAt(i))));
}
List<Integer> ans = newArrayList<>();
// 倒叙
List<Integer> AList = newArrayList<>();
for (inti = 0; i < A.length; i++) {
AList.add(A[i]);
}
Collections.reverse(AList);
Collections.reverse(KList);
intmaxLen = Math.max(AList.size(), KList.size());
List<Integer> zeroList = newArrayList<>();
intdiff = Math.abs(AList.size()-KList.size());
while (diff>0){
zeroList.add(0);
diff--;
}
if (AList.size()>KList.size()){
KList.addAll(zeroList);
}elseif (AList.size()<KList.size()){
AList.addAll(zeroList);
}
intnextSet = 0;
for (inti = 0; i < maxLen; i++) {
intcurSum = KList.get(i)+AList.get(i)+nextSet;
if (curSum>=10){
ans.add(curSum%10);
nextSet = curSum/10;
}else {
ans.add(curSum);
nextSet = 0;
}
}
if (nextSet>0){
ans.add(nextSet);
}
Collections.reverse(ans);
returnans;
}
publicstaticvoidmain(String[] args) {
Solution989s = newSolution989();
int[] A = {0};
intK= 23;
System.out.println(s.addToArrayForm(A,K));
}
}