c语言--力扣简单题目(最后一个单词的长度)讲解

题目如下:

给你一个字符串 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"。

代码如下;

复制代码
char ch;
int x = 1;
int n = 0;
printf("请输入单词");
while ((ch = getchar()) != '\n') {
    if (ch == ' ') {
        x = 0;
        continue;
    }
    if (x == 0) {
        n = 0;
        x = 1;
    }
    if (ch != ' ') {
        n += 1;
    }
}
printf("%d", n);
return 0;

这里我们的思路是让x作为判断是否为下一个单词,如果x为0,那么就代表下一个单词开始,并且让n也为0,用来记载单词数量。

当我们检测到最后一个单词的时候,因为没有下一个单词了,所以n就不会重置为0,这时只需要打印n的就可以了。

相关推荐
圣保罗的大教堂21 小时前
leetcode 3453. 分割正方形 I 中等
leetcode
千金裘换酒21 小时前
LeetCode 二叉树的最大深度 递归+层序遍历
算法·leetcode·职场和发展
爱敲代码的TOM21 小时前
详解一致性哈希算法
算法·哈希算法
松涛和鸣21 小时前
DAY52 7-Segment Display/GPIO/Buttons/Interrupts/Timers/PWM
c语言·数据库·单片机·sqlite·html
lzllzz2321 小时前
递归的理解
算法·深度优先·图论
Echo缘21 小时前
关于在.cpp文件中包含c的头文件,编译报错问题
c语言·开发语言
小O的算法实验室1 天前
2024年IEEE TITS SCI2区TOP,考虑无人机能耗与时间窗的卡车–无人机协同路径规划,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
派森先生1 天前
排序算法-选择排序
算法·排序算法
C雨后彩虹1 天前
书籍叠放问题
java·数据结构·算法·华为·面试
ghie90901 天前
GPS抗干扰算法MATLAB实现
开发语言·算法·matlab