第12题:最后一个单词的长度

给定由大写,小写字母和空格组成的字符串,返回最后一个单词的长度。

如果不存在最后一个单词,返回0

注意:

“单词”是指不包含空格符号的字符串

例如:

s = “hello World”, 那么返回的结果是5

格式:

第一行输入字符串s,然后输出s中最后一个单词的长度。

样例输入

Today is a nice day

样例输出

3

关于此题:

这道题有个陷阱,题目说是 s = “hello World”,那个这字符串也有可能是s
= “hello World       ”(注意最后的空格),刚开始我没注意这个,结果浪费太多时间没找到问题所在,还有一点,做这些题时所声明的数组尽量大,如果A[100]、A[1000]什么的肯定AC不了,往大了来吧,题目没有说明测试范围也算是一个缺陷吧。

解析:

#include <stdio.h>
#include <string.h>

int main()

{
	char s[10000];
	int count = 0,i,c;
	gets(s);
	for(i = strlen(s)-1;i > 0;i--)
	{
		if(s[i] != ' ')	//从后往前看,当最后一个不是空格的时候开始计数
			count++;
		if(count > 0)	//当count计数时所在位置的单词已经是最后一个了,在出现空格时表示结束
			if(s[i] == ' ')
				break;
	}
	printf("%d\n",count);
	return 0;
}

如果看不懂欢迎留言提问或者留下邮箱!!!o(∩_∩)o

(需要邀请码的请留言)

时间: 2024-08-28 04:10:43

第12题:最后一个单词的长度的相关文章

[编程题]字符串最后一个单词的长度

计算字符串最后一个单词的长度,单词以空格隔开. 输入描述: 一行字符串,非空,长度小于5000. 输出描述: 整数N,最后一个单词的长度. 输入例子: hello world 输出例子: 5 #include<stdio.h> #include<string.h> int main(){ char str[5000]; int k,i; scanf("%[^\n]",str); for(i=strlen(str)-1;i>0 ;i--){ if(str[i

Leetcode(无重复字符的最长子串;删除排序链表中的重复元素II;加一;最后一个单词的长度;相同的树)

1.无重复字符的最长子串 这题需要用到滑动窗口法,有许多问题都可以考虑使用滑动窗口法:https://www.geeksforgeeks.org/tag/sliding-window/ 因为用c++,所以用到set容器:std::count 2.删除排序链表中的重复元素II 3.加一 1 class Solution { 2 public: 3 vector<int> plusOne(vector<int>& digits) { 4 int n=digits.size()-

计蒜客 最后一个单词的长度 (字符串)

给定由大写,小写字母和空格组成的字符串,返回最后一个单词的长度. 如果不存在最后一个单词,返回0 注意: “单词”是指不包含空格符号的字符串 例如: s = “hello World”, 那么返回的结果是5 格式: 第一行输入字符串s,然后输出s中最后一个单词的长度. 样例输入 Today is a nice day 样例输出 3分析:可能输入的是空串,也可能末尾有空格 1 #include <iostream> 2 #include <string> 3 4 using name

华为训练题目:初级——字符串最后一个单词的长度

初级 字符串最后一个单词的长度 描述 计算字符串最后一个单词的长度,单词以空格隔开. 知识点 字符串,循环 运行时间限制 0M 内存限制 0 输入 一行字符串,长度小于128. 输出 整数N,最后一个单词的长度. 样例输入 hello world 样例输出 5 思路:这道题字符串可能中间有空格,可能后面最后有空格. 先将下标从后往前指到最后一个不是空字符的方,再开始计数 1 #include<iostream> 2 #include<string> 3 using namespac

[华为]字符串最后一个单词的长度

计算字符串最后一个单词的长度,单词以空格隔开. 输入描述:一行字符串,非空,长度小于5000. 输出描述:整数N,最后一个单词的长度. 输入例子:hello world 输出例子:5 1 #include<iostream> 2 #include<string> 3 #include<vector>  4 5 using namespace std;  6 7 int main() 8 {     9 string input;     10 vector<str

计蒜客--最后一个单词的长度

给定由大写,小写字母和空格组成的字符串,返回 最后 一个单词的长度. 如果输入中不存在单词,返回 00. 注意: “单词”是指不包含空格符号的字符串 例如: 对于字符串"hello World"(不带引号), 那么返回的结果是 55: 对于字符串"abc abc "(不带引号),那么返回的结果就是 33. 输入格式 输入仅一行,为字符串 ss(长度不超过 1000010000). 输出格式 输出 ss 中最后一个单词的长度. 样例输入1 Today is a nic

【LeetCode-面试算法经典-Java实现】【058-Length of Last Word (最后一个单词的长度)】

[058-Length of Last Word (最后一个单词的长度)] [LeetCode-面试算法经典-Java实现][所有题目目录索引] 原题 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

[Leetcode] Length of last word 最后一个单词的长度

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 char

最后一个单词的长度

给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度. 如果不存在最后一个单词,请返回 0 . 说明:一个单词是指由字母组成,但不包含任何空格的字符串. 示例: 输入: "Hello World" 输出: 5 /*从字符串的尾部部位空格的第一个元素开始计算,直到找到第二个空格,退出循环*/ 1 class Solution { 2 public int lengthOfLastWord(String s) { 3 if(s==null||s.length()==0