https://leetcode.com/problems/reverse-only-letters/
你会能到一个字串s ,请按照下列规则并回传反转的字串
这题只要知道哪个字元是英文字母和要转去哪而已
比较常见的方法有两种:
前後都个放一个指标,一个由前往後、另一个由後往前
就样就能马上知道前面的字母要放到哪个位置了
class Solution:
def reverseOnlyLetters(self, s: str) -> str:
ans = [i for i in s]
p = 0
q = len(s) - 1
while p < q:
if ans[p].isalpha() and ans[q].isalpha():
ans[p], ans[q] = ans[q], ans[p] #swap
p += 1
q -= 1
elif not ans[p].isalpha():
p += 1
elif not ans[q].isalpha():
q -=1
return ''.join(ans)
先把所有英文字母用堆叠存起来,而堆叠取出的方式是後进先出,也就是取出的过程正好就是反转的顺序
class Solution:
def reverseOnlyLetters(self, s: str) -> str:
letter = [i for i in s if i.isalpha()]
ans = []
for i in s:
if i.isalpha():
ans.append(letter.pop())
else:
ans.append(i)
return ''.join(ans)
过两周了 耶!
「学姐,你今天发生什麽事了吗?」 「嗯⋯⋯」唯心没有马上回应诗忆的问题。 「是不是太累了?其实剩下的...
前情提要 前一篇文章带大家看了chrome 开发工具的使用,并向下又说明了 Element 、Net...
假日就是要轻松 这个篇章整理了技服中心里的问答,包括专区的常见问题、开办研讨会的问答等,还有实作时碰...
补充 因为昨天忘了讲,今天先补充一下。 如果你觉得前几代的iphone不是全萤幕很丑的话,是可以换的...
用D3绘制长条图 我们现在可以尝试着用已经学到的SVG来画长条图,只不过是透过D3Js的操作来新增S...