力扣344.反转字符串 练习理解

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。

不要给另外的数组分配额外的空间,你必须**原地修改输入数组**、使用 O(1) 的额外空间解决这一问题。

示例 1:

复制代码
输入:s = ["h","e","l","l","o"]
输出:["o","l","l","e","h"]

思路:

简单来说就是换个顺序,采用双指针的办法left从左往右移动,right 从右向左移动

那么只需要考虑什么时候结束循环

考虑是奇数长度还是偶数长度,

1.对于奇数长度 s[left],s[right-1];

s[left+1],s[right-2], left+right-1恰好被2整除刚好循环结束。

2.对于偶数来说最后循环的是s[n/2-1]和s[n/2],下一次各移动一次s[n/2]和s[n/2-1]退出循环即可

复制代码
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
        return s
相关推荐
却话巴山夜雨时i28 分钟前
347. 前 K 个高频元素【中等】
数据结构·算法·leetcode
蘑菇小白28 分钟前
数据结构--栈
数据结构·算法·
qq_4579242929 分钟前
[rdk系列之情绪识别算法上板运行]
算法
本妖精不是妖精29 分钟前
在 CentOS 7 上部署 Node.js 18 + Claude Code
linux·python·centos·node.js·claudecode
Vanranrr32 分钟前
Python vs PowerShell:自动化 C++ 配置文件的两种实现方案
c++·python·自动化
Bdygsl33 分钟前
数字图像处理总结 Day 3 —— 图像增强与运算
图像处理·算法
Lynnxiaowen34 分钟前
今天继续学习Kubernetes内容namespace资源对象和pod简介
linux·运维·学习·容器·kubernetes
田里的水稻34 分钟前
spline_curve
算法·几何学
梯度下降不了班36 分钟前
【mmodel/xDiT】多模态^_^从入门到放弃的学习路径
人工智能·学习·stable diffusion