Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
62 lines (55 loc) · 2.31 KB

File metadata and controls

62 lines (55 loc) · 2.31 KB
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
package ch08;
import datatype.ListNode;
import java.math.BigInteger;
public class P16_1 {
public ListNode reverseList(ListNode head) {
ListNode prev = null, node = head;
// 노드 끝으로 이동할 때까지 순회
while (node != null) {
// 현재 노드의 다음 노드 미리 지정
ListNode next = node.next;
// 현재 노드의 다음으로 이전 노드 지정
node.next = prev;
// 이전 노드는 현재 노드로 지정
prev = node;
// 미리 지정했던 다음 노드를 현재 노드로 변경
node = next;
}
// prev는 뒤집힌 연결 리스트의 첫 번째 노드
return prev;
}
// 연결 리스트를 임의 정밀도 정수형으로 변환
public BigInteger toBigInt(ListNode node) {
String val = "";
// 연결 리스트를 순회하며 한 글자씩 조합
while (node != null) {
val += node.val;
node = node.next;
}
// 조합한 글자를 임의 정밀도 정수형으로 변환
return new BigInteger(val);
}
// 임의 정밀도 정수형을 연결 리스트로 변환
public ListNode toReversedLinkedList(BigInteger val) {
ListNode prev = null, node = null;
// 정수형을 문자로 바꾼 다음 문자 배열로 전환하여 한 글자씩 순회
for (char c : String.valueOf(val).toCharArray()) {
// 한 글자씩 숫자로 변환하여 노드 지정
node = new ListNode(Character.getNumericValue(c));
// 최종 결과는 뒤집어야 하므로 현재 노드의 다음으로 이전 노드 지정
node.next = prev;
// 이전 노드는 현재 노드로 지정
prev = node;
}
return node;
}
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
// 2개의 연결 리스트를 뒤집는다
ListNode l1Reversed = reverseList(l1);
ListNode l2Reversed = reverseList(l2);
// 임의 정밀도 정수형으로 변환하여 더하기 연산 진행
BigInteger result = toBigInt(l1Reversed).add(toBigInt(l2Reversed));
// 결과를 다시 역순 연결 리스트로 변환
return toReversedLinkedList(result);
}
}
Morty Proxy This is a proxified and sanitized view of the page, visit original site.