-
-
Notifications
You must be signed in to change notification settings - Fork 18
Expand file tree
/
Copy pathsolution.py
More file actions
16 lines (16 loc) · 505 Bytes
/
Copy pathsolution.py
File metadata and controls
16 lines (16 loc) · 505 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Solution:
# Time: O(n)
# Space: O(n)
def reverse_only_letters(self, s: str) -> str:
chars = list(s)
left, right = 0, len(chars) - 1
while left < right:
if not chars[left].isalpha():
left += 1
elif not chars[right].isalpha():
right -= 1
else:
chars[left], chars[right] = chars[right], chars[left]
left += 1
right -= 1
return "".join(chars)