-
Notifications
You must be signed in to change notification settings - Fork 242
Reverse Letters
kyra-ptn edited this page Aug 25, 2024
·
3 revisions
Unit 3 Session 2 (Click for link to problem statements)
Understand what the interviewer is asking for by using test cases and questions about the problem.
- What will the function output?
- It should return the reversed string.
Plan the solution with appropriate visualizations and pseudocode.
General Idea: Make a list of all letters in the string, then build a new string that reverses only the letters.
1) Create an empty list for the letters
2) Loop through the string, and add any letters to the list
3) Make an index variable, set to end of letters list
4) Create an empty results string
5) Loop through each character in the original string
a) If the char was a letter:
i) add the value at letters[index] to results
ii) reduce index by 1
b) Otherwise, add the char itself to results
6) Return results
def reverse_only_letters(s):
letters = [] # Collect letters
for c in s:
if c.isalpha():
letters.append(c)
result = "
letters_index = len(letters) - 1 # Start from the end of the letters list
for c in s:
if c.isalpha():
result += letters[letters_index]
letters_index -= 1
else:
result += c
return result