Given a string, reverse only the alphabetic characters while keeping all non-alphabetic characters (digits, spaces, punctuation) in their original positions.
Examples:
Input: str = 'ab-cd'
Output: 'dc-ba'
Explanation: Letters a, b, c, d are reversed to d, c, b, a. The hyphen stays in position 2.
Input: str = 'a1b2c3'
Output: 'c1b2a3'
Explanation: Letters a, b, c are reversed to c, b, a. Digits remain in their original positions.
Input: str = 'Hello-World!'
Output: 'dlroW-olleH!'
Explanation: Letters H, e, l, l, o, W, o, r, l, d are reversed. The hyphen and exclamation mark stay in place.
Input: str = null
Output: null
Explanation: Null input returns null.
Input: str = ''
Output: ''
Explanation: Empty string returns empty string.
Apex Code Editor
Welcome to Lightning Challenge!
How It Works
- • Write your solution in the code editor
- • Connect your Salesforce org to test
- • Submit to check if your solution passes
- • Use hints if you get stuck
Contest Alert
🏆 #CodeEveryDay August 2026
Contest runs August 1 - 31. Complete challenges to climb the leaderboard!
Only the 31 daily challenges shown during this contest count toward points. Earlier dailies don't carry over.