Leetcode 344 Reverse String

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

You must do this by modifying the input array in-place with O(1) extra memory.

Input: s = ["h","e","l","l","o"]
Output: ["o","l","l","e","h"]
Input: s = ["H","a","n","n","a","h"]
Output: ["h","a","n","n","a","H"]
  • Soruda bize verilen listeyi terse çevirmemiz isteniyor.
  • Bu soruda iki işaretçi yöntemini kullanabiliriz.
  • Sol ve sağ işaretçiler en baştan ve sondan başlayarak ilerler.
  • Değişimi yaptıkça solu 1 arttırır ve sağı 1 azaltırız.
class Solution:
    def reverseString(self, s: List[str]) -> None:
        """
        Do not return anything, modify s in-place instead.
        """
        left,right = 0 , len(s) -1
        
        while left<right:
            temp = s[left]
            s[left]=s[right]
            s[right]=temp
            left+=1
            right-=1