编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。
不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。
你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。
示例 1:
输入:["h","e","l","l","o"]
输出:["o","l","l","e","h"]
因为不允许使用额外的空间只能原地去修改,因此使用两个指针 i 指向第一个元素,j 指向最后一个元素,先把 i 和 j 指向的元素交换一下,然后让 i 指针后移 j 指针前移再把它两个交换,以此类推,最后 i 和 j 指向同一个元素就不需要交换了,这样就得到了一个倒序的序列。
class Solution: def reverseString(self, s: List[str]) -> None: """ Do not return anything, modify s in-place instead. """ beg = 0 end = len(s) - 1 while beg < end: s[beg], s[end] = s[end], s[beg] beg += 1 end -= 1
