Advertisement
kosievdmerwe

Untitled

Sep 14th, 2021
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.51 KB | None | 0 0
  1. class Solution:
  2.     def reverseOnlyLetters(self, s: str) -> str:
  3.         def is_letter(c):
  4.             return "a" <= c <= "z" or "A" <= c <= "Z"
  5.        
  6.         N = len(s)
  7.         ans = list(s)
  8.  
  9.         e = N - 1
  10.         for b in range(N):
  11.             if b > e:
  12.                 break
  13.             if not is_letter(s[b]):
  14.                 continue
  15.             while not is_letter(s[e]):
  16.                 e -= 1
  17.             ans[b], ans[e] = ans[e], ans[b]
  18.             e -= 1
  19.        
  20.         return "".join(ans)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement