public static void Twelve(Node chain1, Node chain2) { // Disconnect Node pos1 = chain1; Node pos2 = chain2; while (pos1.GetNextNode() != pos2.GetNextNode() && pos1 != null) { while (pos2.GetNextNode() != null) { if (pos1.GetNextNode() == pos2.GetNextNode()) break; pos2 = pos2.GetNextNode(); } if (pos1.GetNextNode() == pos2.GetNextNode()) break; pos1 = pos1.GetNextNode(); pos2 = chain2; } Node pos3 = pos1; while (pos3.GetNextNode() != null) { pos3 = pos3.GetNextNode(); pos1.SetNext(new Node(pos3.GetInfo())); pos1 = pos1.GetNextNode(); } Node pos4 = pos2; while (pos4.GetNextNode() != null) { pos4 = pos4.GetNextNode(); pos2.SetNext(new Node(pos4.GetInfo())); pos2 = pos2.GetNextNode(); } }