LeetCode简单题之反转字符串
题目
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。
不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。
示例 1:
输入:s = [“h”,“e”,“l”,“l”,“o”]
输出:[“o”,“l”,“l”,“e”,“h”]
示例 2:
输入:s = [“H”,“a”,“n”,“n”,“a”,“h”]
输出:[“h”,“a”,“n”,“n”,“a”,“H”]
提示:
1 <= s.length <= 10^5
s[i] 都是 ASCII 码表中的可打印字符
来源:力扣(LeetCode)
解题思路
这个题和判断回文有些相似,不过在这里题目做出了限制,我们需要原地对列表进行操作。基本思路就是设置一个中间变量temp让列表的头部元素和尾部元素逐个交换即可。
class Solution:def reverseString(self, s: List[str]) -> None:"""Do not return anything, modify s in-place instead."""for i in range(len(s)//2):temp=s[i]s[i]=s[len(s)-i-1]s[len(s)-i-1]=temp
LeetCode简单题之反转字符串相关推荐
- LeetCode简单题之判断字符串的两半是否相似
题目 给你一个偶数长度的字符串 s .将其拆分成长度相同的两半,前一半为 a ,后一半为 b . 两个字符串 相似 的前提是它们都含有相同数目的元音('a','e','i','o','u','A',' ...
- LeetCode简单题之旋转字符串
题目 给定两个字符串, A 和 B. A 的旋转操作就是将 A 最左边的字符移动到最右边. 例如, 若 A = 'abcde',在移动一次之后结果就是'bcdea' .如果在若干次旋转操作之后,A 能 ...
- LeetCode简单题之检查字符串是否为数组前缀
题目 给你一个字符串 s 和一个字符串数组 words ,请你判断 s 是否为 words 的 前缀字符串 . 字符串 s 要成为 words 的 前缀字符串 ,需要满足:s 可以由 words 中的 ...
- LeetCode简单题之反转单词前缀
题目 给你一个下标从 0 开始的字符串 word 和一个字符 ch .找出 ch 第一次出现的下标 i ,反转 word 中从下标 0 开始.直到下标 i 结束(含下标 i )的那段字符.如果 wor ...
- LeetCode简单题之整理字符串
题目 给你一个由大小写英文字母组成的字符串 s . 一个整理好的字符串中,两个相邻字符 s[i] 和 s[i+1],其中 0<= i <= s.length-2 ,要满足如下条件: 若 s ...
- LeetCode简单题之同构字符串
题目 给定两个字符串 s 和 t ,判断它们是否是同构的. 如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的. 每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序. ...
- 牛客题霸 [反转字符串] C++题解/答案
牛客题霸 [反转字符串] C++题解/答案 题目描述 写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串.(字符串长度不超过1000) 题解: 有reverse现成的翻转函数,直接套进去就可 ...
- 【必备算法】字符串(反转问题):LeetCode题 344. 反转字符串,541. 反转字符串 II,917. 仅仅反转字母
写在前面,反转数组的思路很简单,就是借助双指针不断将首尾相应位置的字符交换.Java模板如下: public void reverseArray(char[] arr) {int i = 0, j = ...
- LeetCode简单题之比较含退格的字符串
题目 给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true .# 代表退格字符. 注意:如果对空文本输入退格字符,文本继续为空. 示例 1: 输入:s = ...
最新文章
- NameError: name ‘sklearn‘ is not defined的解决方法:
- Sql sever 分组排序
- mac安装和卸载mysql_小白自学MySQL笔记(一):Mac环境的安装和启动
- Swing学习1——总体概述
- GARFIELD@11-11-2004
- 运维的核心竞争力是什么
- 新浪微博2020Java校招笔试题
- smartplant license manager issue
- 计算机机房需求调查表,机房建设需求调查表机房建设需求调查表.doc
- 教科书级别的软件推荐
- android studio接口在哪设置,Android定位SDK
- linux查看其他用户计划任务,Linux计划任务(crond、atd)
- 6319. 【省选组】【USACO 2019 February Platinum】Problem 3. Mowing Mischief
- 2.4G无线模块(NRF24L01)学习(2)——单片机互相控制LED灯
- LINUX下更新flash
- python七段数码管10秒倒计时_用7段数码管显示9秒倒计时.doc
- 360搜索“触链”聚焦版权领域,“图刻”是噱头还是不忘安全初心?
- 初学者的3d建模软件。是什么软件?
- 【数论】斐波那契数列求和公式
- 【数据库】【课程设计】商品销售信息管理系统设计