344.
class Solution:
def reverseString(self, s: List[str]) -> None:
"""
Do not return anything, modify s in-place instead.
"""
left, right = 0, len(s) - 1
# 该方法已经不需要判断奇偶数,经测试后时间空间复杂度比用 for i in range(len(s)//2)更低
# 因为while每次循环需要进行条件判断,而range函数不需要,直接生成数字,因此时间复杂度更低。推荐使用range
while left < right:
s[left], s[right] = s[right], s[left]
left += 1
right -= 1
541. Reverse String II
class Solution(object):
def reverseStr(self, s, k):
"""
:type s: str
:type k: int
:rtype: str
"""
h = list(s)
for i in range(0,len(h),2*k):
h[i:i+k] = self.reverse(h[i:i+k])
return "".join(h)
def reverse(self,l):
left = 0
right = len(l)-1
while right > left:
l[right],l[left] = l[left],l[right]
right -=1
left +=1
return l
151. Reverse Words in a String
class Solution(object):
def reverseWords(self, s):
"""
:type s: str
:rtype: str
"""
l =s.split()
l.reverse()
#h = "".join(l[0])
#for i in range(0,len(l)):
h = " ".join(l)
return h