모든 요소가 양수인 두 개의 non-empty linked list가 주어집니다.

linked list 내의 숫자는 역순으로 저장되며, 각 노드에는 단일 숫자가 포함됩니다. 

두 숫자를 더한 다음 Input과 동일한 형태의 linked list로 반환합니다.

숫자 0 자체가 있는 경우를 제외하고, 숫자 0이 제일 앞에 오는 경우는 없습니다.


Example:

Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8
Explanation: 342 + 465 = 807.

Solution :

 

 


 값의 유무를 판단하기 위한 flag 및 계산한 값을 임시 저장하기 위한 newNode를 선언합니다.

 linked list에 값이 있다면 플래그가 설정되며, 플래그가 설정되어있다면 새 노드(newNode)에 1을 추가합니다.  

 양쪽 노드의 값을 읽어서 더하고, 10이 넘었다면 플래그를 설정하고 10을 뺀 뒤 새 노드를 만들어 저장합니다.

 위 과정을 양쪽 노드가 둘 다 null 일때까지 반복하여 수행합니다.