返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++怎么实现求末尾单词的长度
  • 847
分享到

C++怎么实现求末尾单词的长度

2023-06-20 15:06:52 847人浏览 八月长安
摘要

本篇内容介绍了“c++怎么实现求末尾单词的长度”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!求末尾单词的长度Given a string&n

本篇内容介绍了“c++怎么实现求末尾单词的长度”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

求末尾单词的长度

Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the length of last Word in the string.

If the last word does not exist, return 0.

Note: A word is defined as a character sequence consists of non-space characters only.

Example:

Input: "Hello World"
Output: 5

这道题难度不是很大。先对输入字符串做预处理,去掉开头和结尾的空格,然后用一个计数器来累计非空格的字符串的长度,遇到空格则将计数器清零,参见代码如下:

解法一:

class Solution {public:    int lengthOfLastWord(string s) {        int left = 0, right = (int)s.size() - 1, res = 0;        while (s[left] == ' ') ++left;        while (s[right] == ' ') --right;        for (int i = left; i <= right; ++i) {            if (s[i] == ' ') res = 0;            else ++res;        }        return res;    }};

昨晚睡觉前又想到了一种解法,其实不用上面那么复杂的,这里关心的主要是非空格的字符,那么实际上在遍历字符串的时候,如果遇到非空格的字符,只需要判断其前面一个位置的字符是否为空格,如果是的话,那么当前肯定是一个新词的开始,将计数器重置为1,如果不是的话,说明正在统计一个词的长度,计数器自增1即可。但是需要注意的是,当 i=0 的时候,无法访问前一个字符,所以这种情况要特别判断一下,归为计数器自增1那类,参见代码如下:

解法二:

class Solution {public:    int lengthOfLastWord(string s) {        int res = 0;        for (int i = 0; i < s.size(); ++i) {            if (s[i] != ' ') {                if (i != 0 && s[i - 1] == ' ') res = 1;                else ++res;            }        }        return res;    }};

下面这种方法是第一种解法的优化版本,由于只关于最后一个单词的长度,所以开头有多少个空格起始并不需要在意,从字符串末尾开始,先将末尾的空格都去掉,然后开始找非空格的字符的长度即可,参见代码如下:

解法三:

class Solution {public:    int lengthOfLastWord(string s) {        int right = s.size() - 1, res = 0;        while (right >= 0 && s[right] == ' ') --right;        while (right >= 0 && s[right] != ' ' ) {            --right;             ++res;        }        return res;    }};

“C++怎么实现求末尾单词的长度”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: C++怎么实现求末尾单词的长度

本文链接: https://lsjlt.com/news/298183.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C++怎么实现求末尾单词的长度
    本篇内容介绍了“C++怎么实现求末尾单词的长度”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!求末尾单词的长度Given a string&n...
    99+
    2023-06-20
  • C++实现LeetCode(58.求末尾单词的长度)
    [LeetCode] 58. Length of Last Word 求末尾单词的长度 Given a string s consists of upper/lo...
    99+
    2024-04-02
  • C++怎么求阶乘末尾零的个数
    本篇内容介绍了“C++怎么求阶乘末尾零的个数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!求阶乘末尾零的个数C++ 解法一:class&nb...
    99+
    2023-06-20
  • C++实现LeetCode(172.求阶乘末尾零的个数)
    [LeetCode] 172. Factorial Trailing Zeroes 求阶乘末尾零的个数 Given an integer n, return the num...
    99+
    2024-04-02
  • c++中字符串的长度怎么求
    c++中获取字符串长度的方法有:字符串对象方法:string::size() 和 string::length(),返回不含终止符 '\0' 的字符个数;指针操作:遍历字符串直到遇到 '...
    99+
    2024-05-12
    c++
  • c语言数组长度怎么求
    数组长度可通过 sizeof 运算符获得,其公式为:sizeof(数组名) / sizeof(数组元素类型),结果即为数组长度。 如何求取 C 语言数组长度 直接法 #include ...
    99+
    2024-05-08
    c语言 c++
  • c语言怎么求数组长度
    如何在 c 语言中求数组长度?使用宏 sizeof():通过除以元素的大小,返回数组中元素的字节数。使用数组指针:将数组视为指针,计算数组地址与数组末尾地址之间的差值,再除以元素的大小。...
    99+
    2024-05-21
    c语言 字符串数组
  • C#怎么匹配以m开头以e结尾的单词
    今天小编给大家分享一下C#怎么匹配以m开头以e结尾的单词的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。实例 usi...
    99+
    2023-06-17
  • c++中字符数组的长度怎么求
    c++ 中求字符数组长度的标准方法是使用 strlen() 函数。该函数接受指向字符数组的指针,返回数组中以 '\0' 结尾的字符数。要使用它,声明数组、调用 strlen() 并打印结...
    99+
    2024-05-10
    c++ 标准库
  • c语言怎么实现单词搜索
    本文小编为大家详细介绍“c语言怎么实现单词搜索”,内容详细,步骤清晰,细节处理妥当,希望这篇“c语言怎么实现单词搜索”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。单词搜索给定一个 m x n 二维字符网格 boa...
    99+
    2023-06-30
  • C语言怎样计算字符串最后一个单词的长度
    今天就跟大家聊聊有关C语言怎样计算字符串最后一个单词的长度,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。描述:计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(...
    99+
    2023-06-22
  • C语言计算字符串最后一个单词的长度
    描述: 计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾) 输入描述: 输入一行,代表要计算的字符串,非空,长度小于5000。 输...
    99+
    2024-04-02
  • C++中怎么用sizeof求字符串长度
    在C++中,可以使用sizeof运算符来求字符串的长度。但需要注意的是,sizeof运算符返回的是字符串在内存中所占的字节数,而不是...
    99+
    2023-10-28
    C++
  • c语言单词搜索的实现
    单词搜索 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺...
    99+
    2024-04-02
  • 互联网中怎么利用百度长尾高指数关键词提高网站百度权重
    这篇文章给大家分享的是有关互联网中怎么利用百度长尾高指数关键词提高网站百度权重的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。百度权重想必大家都知道,之前众多站长都很在乎谷歌pr值因为pr值很权威,但是随着谷歌 2...
    99+
    2023-06-13
  • CSS怎么设置英文单词与单词的间距宽度
    这篇文章主要介绍“CSS怎么设置英文单词与单词的间距宽度”,在日常操作中,相信很多人在CSS怎么设置英文单词与单词的间距宽度问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CS...
    99+
    2024-04-02
  • css3的长度单位怎么用
    本文小编为大家详细介绍“css3的长度单位怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“css3的长度单位怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。 ...
    99+
    2024-04-02
  • Android怎么实现一个简单的单词本
    这篇文章主要介绍了Android怎么实现一个简单的单词本的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android怎么实现一个简单的单词本文章都会有所收获,下面我们一起来看看吧。本文基于Java实现了一个简单...
    99+
    2023-06-29
  • php怎么求二维数组的长度
    在php中,可以使用count()函数来求二维数组的长度,该函数可以统计出数组里所有元素的数量,也就是数组的长度;当该函数的第二个参数设置为“COUNT_RECURSIVE”或者1就可递归的计算数组中元素的个数,也就是求出二维数组的长度,语...
    99+
    2022-08-08
    php数组 php
  • C++怎么实现拆分词句
    这篇文章主要讲解了“C++怎么实现拆分词句”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++怎么实现拆分词句”吧!拆分词句Given a non-empty strin...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作