Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

กลับสตริงใน Python

สมมติว่าเรามีอาร์เรย์ของตัวอักษร เราต้องกลับสตริงโดยไม่ใช้พื้นที่เพิ่มเติม เช่นถ้าสตริงเป็น ['H', 'E', 'L', 'L', 'O'] ผลลัพธ์จะเป็น ['O', 'L', 'L', 'E', 'H']

วิธีการแก้ปัญหา

  • ใช้ตัวชี้สองตัว start = 0 และ end = ความยาวของสตริง - 1
  • สลับตัวอักษรตัวแรกและตัวสุดท้าย
  • เพิ่ม start ขึ้น 1 และลด end ลง 1

ตัวอย่างโค้ด

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

string_1 = ["H","E","L","L","O"]
ob1 = Solution()
ob1.reverseString(string_1)
print(string_1)

อินพุต

String = ["H","E","L","L","O"]

เอาต์พุต

["O","L","L","E","H"]