Geometry Nodes

Easiest way is to use a Collection Info node pointing to a collection with your 2 shapes, and a Instance on Points with Pick Instance Selected.

If on the other hand you are asking how to do it with generated geometry, then you chain 2 Instance on Points nodes and select on mod2-by-index (offsetting by 1 on the 2nd Instance on Points).

You can also “fake” a collection by making this support NodeGroup:


Call it Mesh-To-Instance
…and use like this (Applied to a Bezier Curve here):

Good luck.