

示例2:
输入:[“H”,“a”,“n”,“n”,“a”,“h”]
输出:[“h”,“a”,“n”,“n”,“a”,“H”]
方法1:
使用双指针方法,从首尾往中间靠拢,相遇时交换完成
def reverseString(self, s: List[str]) -> None:
"""
Do not return anything, modify s in-place instead.
"""
length = len(s)
half = len(s) // 2
# 建立一个tmp临时变量,用于缓存数组着中的元素
for i in range(half):
tmp = s[i]
s[i] = s[length-i-1]
s[length-i-1] = tmp
python可以同时给多个变量赋值,上述代码可以改写为:
def reverseString(self, s):
"""
:type s: List[str]
:rtype: void Do not return anything, modify s in-place instead.
"""
length = len(s)
half = l//2
for i in range(half):
s[i], s[length-i-1] = s[length-i-1], s[i]
方法2:
使用python内置函数
def reverseString(self, s):
"""
:type s: List[str]
:rtype: void Do not return anything, modify s in-place instead.
"""
s.reverse()
方法3:
使用pop方法,每次循环删除第一元素,然后插入到指定的位置
每次删除原字符串改变一位,最新的需要翻转的字符变为第一个字符,循环n?1次后完成翻转。
def reverseString(self, s):
"""
:type s: List[str]
:rtype: void Do not return anything, modify s in-place instead.
"""
n = len(s)
for i in range(n-1):
t = s.pop(0)
s.insert(n-i-1, t)
