Showing that a zigzag space is contractible
Solution 1:
You've correctly identified the fact that each individual triangle is contractible, and strong deformation retracts to its "base".
The key thing here is that if you just do the retraction on each triangle, the result isn't continuous, because the sequence of "bristles" on each triangle approach the base of another triangle, so if you start sliding down the bristles without also moving the base, you're essentially "ripping" the structure. I'll leave it as an exercise for you to prove this rigorously.
Fortunately, there's a solution: Slide the base as well! Simply move every point in the base along the zigzag to the right at the same speed you're contracting the triangles. As points in the bristles reach the base, have them turn the corner and start sliding along the zigzag as well, and as points reach the end of one base have them turn the corner on the zigzag and continue to the right at the same speed.
Now there's no "ripping" happening, since each base is going in the same direction as the parallel bristles near it. One characterization I like of this homotopy is: "Each point has a preferred path out to infinity, just tell them to all start to marching."
Once you've moved everything a distance of 1, all the bristles will have been retracted into the zigzag and you've got yourself a "weak deformation retraction" from the full space to the zigzag, and you're done. Note that this isn't a true deformation retraction, since we only got it working by moving points in the zigzag itself, so the base wasn't fixed.
Proving this whole thing is continuous is pretty elementary, and can be done straight from the definitions of homotopy and continuous map, so I'll leave it to you to formalize. I'd recommend breaking it into cases: First show it's continuous for points along the bristles, then show it's continuous for points in the interior of the bases, and finally show it's continuous for points on the corners of the zigzag.