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的就可以了。

相关推荐
listhi5203 小时前
双目立体视觉中的彩色SAD算法
算法
爱coding的橙子3 小时前
Day87:2.12:leetcode 动态规划8道题,用时3h
算法·leetcode·动态规划
星火开发设计3 小时前
虚析构函数:解决子类对象的内存泄漏
java·开发语言·前端·c++·学习·算法·知识
2501_901147833 小时前
幂函数实现的优化与工程思考笔记
笔记·算法·面试·职场和发展·php
好大的月亮3 小时前
中值法排序及LexoRank排序算法简述
java·算法·排序算法
闻缺陷则喜何志丹3 小时前
【拆位法】P9277 [AGM 2023 资格赛] 反转|普及+
c++·算法·位运算·拆位法
HAPPY酷4 小时前
std::pair` 与 `std::map` 基础
开发语言·c++·算法
喜欢吃燃面4 小时前
基础算法:高精度
开发语言·c++·学习·算法
努力学算法的蒟蒻4 小时前
day84(2.12)——leetcode面试经典150
算法·leetcode·面试
程序员酥皮蛋4 小时前
hot 100 第二十三题 23.反转链表
数据结构·算法·leetcode·链表