Simple Solution
Approach\nTake the reference of the head node into currentNode and traverse the currentNode untill its next node be null. \n\nIf the next node value is not a ze
# Approach\nTake the reference of the head node into currentNode and traverse the currentNode untill its next node be null. \n\nIf the next node value is not a zero then the next node value can add to the currentNode\'s value and change the currentNode next reference to the next node\'s next reference. \n\nIf the next node value is a zero then we move to the next node.\n \nIf the next node value is 0 and it is the last node. Make the currentNode\'s next to be a null.\n\nwww.instagram.com/sivaprakashktm\n\n# Code\n```\n\npublic class Solution {\n    public ListNode MergeNodes(ListNode head) {\n        ListNode currentNode = head;\n\n        while (currentNode != null && currentNode.next != null) {\n            if (currentNode.next.val != 0) {\n                currentNode.val += currentNode.next.val;\n                currentNode.next = currentNode.next.next;\n            }\n            else {\n                currentNode = currentNode.next;\n            }\n\n            if (currentNode.next != null && currentNode.next.val == 0 && currentNode.next.next == null) {\n                currentNode.next = null;\n            }\n        }\n        return head;\n    }\n}\n```
['Linked List', 'Simulation', 'C#']