...
צריך להקצות יותר זיכרון מאורך מחרוזת הקלט, כי ייתכן שמחרוזת הפלט תהיה ארוכה יותר. במקרה הגרוע ביותר מחרוזת הקלט תהיה מורכבת מרצף של אות ואז נקודה או פסיק, ואז צריך להוסיף רווח על כל שני תווים. אמנם לא צריך פי שניים (היה מספיק פי 1.5), אבל כנראה שמי שכתב את הפתרון לא דייק.
לגבי האינדקסים - j מייצג את האינדקס הנוכחי במחרוזת הפלט, בעוד k מייצג אינדקס במחרוזת הפלט של תו שצריך למחוק. למשל, בלולאה המקוננת הראשונה, מתחילים מנקודה או פסיק (למעשה מהתו שלפניהם), והולכים אחורה עד שמגיעים לתו שאינו רווח - זאת במטרה למחוק את כל הרווחים שלפני הנקודה או הפסיק (כפי שכתוב בהערה).
נסי כעת לראות אם את מבינה מה הלולאות האחרות עושות.