i while looking back at index i-1.• Core Problem: In-Place String Reversal (Array Modification)
◦ ├── Slow Path (Brute Force): Extra Array Copy ──► Redundant Memory Allocation ──► $O(n)$ Space
◦ └── Fast Path (Optimal): Two-Pointer Swap ──► Half-Way Termination ──► $O(1)$ Space
• Technical Connections:
◦ Array Index Manipulation ──► Modifying existing elements directly in memory.
◦ Multi-pointer concepts ──► Tracking left index moving forward while looking at right index moving backward.
• Core Problem: Sorting Squares of a Pre-Sorted Array containing Negative Numbers
├── Slow Path (Brute Force): Square All ──► Run .sort() ──► $O(N \log N)$ Time
└── Fast Path (Optimal): Two-Pointer Comparison ──► Fill Backwards ──► $O(N)$ Time
• Technical Connections:
◦ Array Index Manipulation ──► Tracking left moving right, right moving left, and a tracking pointer p moving backward in the result array.
◦ Absolute Magnitude Concept ──► Recognizing that the largest values are at the edges, eliminating the need to check the center first.