反转字符串-力扣

    科技2025-12-24  19

    均来自于力扣 https://leetcode-cn.com/problems/reverse-string/

    题目: 反转字符串 O(1) 原地反转

    第一思路: (1)使用栈,先让数组进行输入 (2)top出栈,逆序弹出

    python3: 栈如何设置? 如何输入?如何输出? def reverself (self, s:List[int])->:None: 输入-循环: 进入栈; i+1; 弹出栈

    第二思路: python3-双指针: (1) 设置两个指针left right 分别指向数组头部和尾部 (2) left从左向右移动 right从右向左移动 每移动一次 互相交换字符 (3)当left和right的指针所指字符相同时,即可换也可不换

    class Solution: def reverseString(self, s: List[str]) -> None: int left*, right* left=s[0] #左指针 right=s[-1] #右指针 for i in len(s): #不断移动 t=s.left s.left[value]=s.right[value] s.right=t left++; right--;

    改正:

    class Solution: def reverseString(self, s: List[str]) -> None: left=0 #左指针 right=len(s)-1 #右指针 while left<right: #不断移动 直至重合 s[left],s[right]=s[right],s[left] left+=1 right-=1

    改正代码参考于 https://leetcode-cn.com/problems/reverse-string/solution/344-fan-zhuan-zi-fu-chuan-shuang-zhi-zhen-by-yiluo/

    知识盲点 (1)s[left] 和s.[left]的不同之处??改正点 (1)学会定义指针 运用指针 (2)明确循环终止条件
    Processed: 0.020, SQL: 9