反转字符串-力扣

均来自于力扣
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)明确循环终止条件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值