public MyLinkedList SumLists(Node HeadFirst, Node HeadSecond) { if (HeadFirst == null && HeadSecond == null) { return(null); } MyLinkedList list = new MyLinkedList(null); int sum = 0; int overflow = 0; while (HeadFirst != null && HeadSecond != null) { sum = HeadFirst.Value + HeadSecond.Value + overflow; list.AddNodeAtEnd(new Node(null, sum % 10)); overflow = sum / 10; HeadFirst = HeadFirst.Next; HeadSecond = HeadSecond.Next; } if (HeadFirst == null) { while (HeadSecond != null) { sum = overflow + HeadSecond.Value; list.AddNodeAtEnd(new Node(null, sum % 10)); overflow = sum / 10; HeadSecond = HeadSecond.Next; } } if (HeadSecond == null) { while (HeadFirst != null) { sum = overflow + HeadFirst.Value; list.AddNodeAtEnd(new Node(null, sum % 10)); overflow = sum / 10; HeadFirst = HeadFirst.Next; } } return(list); }