当前位置: 首页 > news >正文

LeetCode#第58题:最后一个单词的长度

58. 最后一个单词的长度 - 力扣(LeetCode)

给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。

单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。

示例 1:输入:s = "Hello World"
输出:5
解释:最后一个单词是“World”,长度为 5。
示例 2:输入:s = "   fly me   to   the moon  "
输出:4
解释:最后一个单词是“moon”,长度为 4。
示例 3:输入:s = "luffy is still joyboy"
输出:6
解释:最后一个单词是长度为 6 的“joyboy”。

解析

这道题没有涉及算法,使用快慢指针fast slow,具体步骤如下:

1. fast,slow同时初始化在第一个字符,无论第一个字符是空格还是字母都不做处理;

2. fast不断遍历后续元素,如果遇到前一个元素是空格,本位元素是字母的情况,则识别为单词开头,把slow移到fast位置。

3. 如果fast遍历到\0,表示到末尾了,则进入一个小循环回头到上一个单词最后一个字母

4. 返回fast-slow+1即为结果

代码实现

int lengthOfLastWord(char* s) {int slow=0,fast;//如果你想要在函数末尾return结果,就不要把int fast写进for循环里for(fast=0; ; fast++){if(*(fast+s)=='\0'){//边界判断,到了边界就回头寻找最后一个单词末尾while(1){fast--;if(*(fast+s)!=' '){break;}}break;}if(fast!=0&&*(fast+s)!=' '&&*(fast+s-1)==' '){//识别到单词头了,则把慢指针移过来slow=fast;}}//计算最后一个单词长return (fast-slow+1);
}

http://www.xdnf.cn/news/653419.html

相关文章:

  • Python网络编程深度解析
  • 游戏引擎学习第312天:跨实体手动排序
  • YOLOv1 详解:单阶段目标检测算法的里程碑
  • SAP ABAP VK11/VK12 创建销售物料价格(附源码)
  • 华润电力招聘认知能力测评及性格测评真题题库考什么?
  • ATPrompt方法:属性嵌入的文本提示学习
  • 饭卡管理系统(接口文档)
  • 对接 uniapp 通过中间层(JSBridge)集成零信任 原生androiid和ios SDK
  • 【iOS】 锁
  • 【iOS】 GCD小结
  • NTDS.dit 卷影副本提权笔记
  • sass,less是什么?为什么要使用他们?
  • [特殊字符]《Qt实战:基于QCustomPlot的装药燃面动态曲线绘制(附右键菜单/样式美化/完整源码)》
  • 华为云物联网应用接入对于API及接口调试的梳理
  • Java设计模式之责任链模式:从基础到高级的全面解析
  • Chrome 开发中的任务调度与线程模型实战指南
  • Redis批量删除Key的三种方式
  • LSTM模型进行天气预测Pytorch版本
  • 索尼PS4模拟器shadPS4最新版 v0.9.0 提升PS4模拟器的兼容性
  • 【Linux】基础IO
  • 提问:鲜羊奶是解决育儿Bug的补丁吗?
  • mysql存储过程(if、case、begin...end、while、repeat、loop、cursor游标)的使用
  • 从0开始学习R语言--Day10--时间序列分析数据
  • 手机平板等设备租赁行业MDM方案解析
  • OpenCV计算机视觉实战(8)——图像滤波详解
  • vite常见面试问题
  • 新书速览|ASP.NET MVC高效构建Web应用
  • 精益数据分析(87/126):市场-产品契合度重构——现有产品寻找新市场的实战指南
  • springboot 微服务下部署AI服务
  • 2025年5月26日工作总结