LeetCode 344. Reverse String

题目

Write a function that reverses a string. The input string is given as an array of characters char[].

Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory.

You may assume all the characters consist of printable ascii characters.

Example 1:

1
2
Input: ["h","e","l","l","o"]
Output: ["o","l","l","e","h"]

Example 2:

1
2
Input: ["H","a","n","n","a","h"]
Output: ["h","a","n","n","a","H"]

思路

Easy.

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# class Solution(object):
# def reverseString(self, s):
# """
# :type s: List[str]
# :rtype: None Do not return anything, modify s in-place instead.
# """
# s.reverse()

class Solution(object):
def reverseString(self, s):
"""
:type s: List[str]
:rtype: None Do not return anything, modify s in-place instead.
"""
l, r = 0, len(s)-1
while l < r:
s[l], s[r] = s[r], s[l]
l, r = l+1, r-1