2
* Definition for singly-linked list. public class ListNode { int val; ListNode next; ListNode() {}3
* ListNode(int val) { this.val = val; } ListNode(int val, ListNode next) { this.val = val;4
* this.next = next; } }7
public ListNode mergeNodes(ListNode head) {8
ListNode newList = new ListNode(0);9
ListNode newHead = newList;10
ListNode newtemp = newList;11
/*---------------------------------------------------------------*/12
ListNode temp = head.next;14
if (head == null && head.next == null) return head;15
/*---------------------------------------------------------------*/16
while (temp != null) { // traverse linkelist17
sum += temp.val; // sum elements until zero19
ListNode node = new ListNode(sum); // create a new node;20
newtemp.next = node; // connect with dummy node which is created initially21
newtemp = newtemp.next; // shift pointer to newly created node26
/*---------------------------------------------------------------*/27
return newHead.next; // skip dummy node which is created initially