LeetCode 03: T58. 最后一个单词的长度(简单); 剑指 Offer 05. 替换空格(简单); 剑指 Offer 58 - II. 左旋转字符串(简单)
文章目录
- T7: 58. 最后一个单词的长度(简单)
- 思路
- 解法: 双指针
- T8: 剑指 Offer 05. 替换空格(简单)
- 思路
- 解法: replace
- T9: 剑指 Offer 58 - II. 左旋转字符串(简单)
- 思路
- 解法: substring
T7: 58. 最后一个单词的长度(简单)
给你一个字符串 s,由若干单词组成,单词之间用空格隔开。返回字符串中最后一个单词的长度。如果不存在最后一个单词,请返回 0 。
单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
示例 1:
输入:s = "Hello World"
输出:5
示例 2:
输入:s = " "
输出:0
提示:
1 <= s.length <= 104
s 仅有英文字母和空格 ’ ’ 组成
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/length-of-last-word
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
思路
双指针倒着来, 注意末尾有空格的情况, s = " "的情况, s = "a"的情况
解法: 双指针
class Solution {public int lengthOfLastWord(String s) {int right = s.length()-1;while(right>=0&&s.charAt(right)==' ') right--;if(right<0) return 0;int left = right;while(left>=0&&s.charAt(left)!=' ') left--;return right - left;}
}
执行用时:0 ms, 在所有 Java 提交中击败了**100.00%**的用户
内存消耗:36.4 MB, 在所有 Java 提交中击败了**95.74%**的用户
On, O1
T8: 剑指 Offer 05. 替换空格(简单)
请实现一个函数,把字符串 s
中的每个空格替换成"%20"。
示例 1:
输入:s = "We are happy."
输出:"We%20are%20happy."
限制:
0 <= s 的长度 <= 10000
思路
直接replace
解法: replace
class Solution {public String replaceSpace(String s) {return s.replace(" ", "%20");}
}
执行用时:0 ms, 在所有 Java 提交中击败了**100.00%**的用户
内存消耗:36.3 MB, 在所有 Java 提交中击败了**62.78%**的用户
On, O1
T9: 剑指 Offer 58 - II. 左旋转字符串(简单)
字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。
示例 1:
输入: s = "abcdefg", k = 2
输出: "cdefgab"
示例 2:
输入: s = "lrloseumgh", k = 6
输出: "umghlrlose"
限制:
1 <= k < s.length <= 10000
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/zuo-xuan-zhuan-zi-fu-chuan-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
思路
使用substring()
解法: substring
class Solution {public String reverseLeftWords(String s, int n) {return s.substring(n,s.length())+s.substring(0,n);}
}
执行用时:0 ms, 在所有 Java 提交中击败了**100.00%**的用户
内存消耗:38.1 MB, 在所有 Java 提交中击败了**87.75%**的用户
On, On
LeetCode 03: T58. 最后一个单词的长度(简单); 剑指 Offer 05. 替换空格(简单); 剑指 Offer 58 - II. 左旋转字符串(简单)相关推荐
- 【LeetCode】剑指 Offer 58 - II. 左旋转字符串
[LeetCode]剑指 Offer 58 - II. 左旋转字符串 文章目录 [LeetCode]剑指 Offer 58 - II. 左旋转字符串 一.字符串切片 二.列表遍历拼接 三.字符串遍历拼 ...
- 字符串专题-LeetCode:剑指 Offer 58 - II. 左旋转字符串、LeetCode 459.重复的子字符串、 代码思路和注意点
文章目录 一.剑指 Offer 58 - II. 左旋转字符串 二.LeetCode 459.重复的子字符串 一.剑指 Offer 58 - II. 左旋转字符串 思路: 预留出n个字符空间s.res ...
- 字符串(一) | 剑指 Offer 58 - II. 左旋转字符串、541. 反转字符串 II、剑指 Offer 05. 替换空格、151. 反转字符串中的单词
剑指 Offer 58 - II. 左旋转字符串 把前k个字符移动到结尾 翻转前k个字符,翻转剩余字符 翻转整个字符串 class Solution { public:void reverse(str ...
- 剑指Offer LeetCode 面试题58 - II. 左旋转字符串
面试题58 - II. 左旋转字符串 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部.请定义一个函数实现字符串左旋转操作的功能.比如,输入字符串"abcdefg"和 ...
- Leetcode 剑指 Offer 58 - II. 左旋转字符串 (每日一题 20210830)
字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部.请定义一个函数实现字符串左旋转操作的功能.比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结 ...
- Leetcode:剑指 Offer 58 - II. 左旋转字符串(C++)
目录 问题描述: 实现代码: 暴力循环移动法: 原理思路: 翻转法: 原理思路: 问题描述: 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部.请定义一个函数实现字符串左旋转操作的功能. ...
- LeetCode:剑指 Offer 58 - II. 左旋转字符串
- Leetcode 剑指 Offer 58 - II. 左旋转字符串 LCOF - Python
class Solution:def reverseLeftWords(self, s: str, n: int) -> str:m = len(s)temp = list(s)temp.ext ...
- 代码随想录算法训练营第08天 | LeetCode 344.反转字符串,541. 反转字符串2,剑指Offer 05.替换空格,151.翻转字符串里的单词,剑指Offer58-II.左旋转字符串
LeetCode [344. 反转字符串] 题目:编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 s 的形式给出. 不要给另外的数组分配额外的空间,你必须**原地修改输入数组**. ...
最新文章
- Nature:将光计算与AI推理整合,实现高速高带宽低功耗AI计算
- 《Java Web高级编程——涵盖WebSockets、Spring Framework、JPA H
- mysql 左连接 例子_mysql左连接自连接例子
- 下载:Visual Studio 2012 RC候选版
- 关于input file img实时预览获取文件路径的问题
- mysql耦合_内聚与耦合
- jsp 中div居中_让div在屏幕中居中(水平居中+垂直居中)
- 【ElasticSearch】Es 源码之 NodeClient 源码解读
- webRTC之fatal error: ‘absl/strings/string_view.h‘ file not found(二十)
- Java数据类型从小到大排序_编写一个字符串排序程序,对一个字符串的数值进行从小到大的排序,要求使用包装类对数值类型的字符串转换成整型进行排序...
- 自己写的配筋的Android应用——RCHelper,依据SL191-2008
- 【勒索病毒数据恢复】Phobos勒索病毒家族之.[back23@vpn.tg].makop
- msxml6 C++
- 火车票分批放票大概时间
- Win10如何设置快速锁屏?电脑怎么设置离开锁屏?
- 管理ELK进程工具: Supervisor Cesi
- 用to_datetime函数实现时间格式的转化
- 网页控制台控制视频倍速
- python中的结束用语,python语句结束符号_Python从文本中提取hashtags;以标点符号结尾...
- 移动硬盘安装kali
热门文章
- java throwable_Java Throwable、Error与Exception
- android 取消控件焦点,C# 给一个控件去掉焦点
- usb linux 引导盘,使用UNetbootin制作Linux USB引导盘
- 听课感悟——信息与数字化
- 项目实训答辩经典对话
- [问题已处理]-ubuntu 报错Directory index full
- LabelIng操作
- DCDC基础(11)-- Buck电路的控制方式
- rac管理 sqlserver_Oracle RAC管理及维护命令详解
- 之一-呕血制作-Lettuce IOT框架-移远BC35G+树莓派+华为OC+SpringBoot后台+微信小程序