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

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

如果输入中不存在单词,返回 00。

注意:

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

例如:

对于字符串"hello World"(不带引号), 那么返回的结果是 55;

对于字符串"abc abc "(不带引号),那么返回的结果就是 33。

输入格式

输入仅一行,为字符串 ss(长度不超过 1000010000)。

输出格式

输出 ss 中最后一个单词的长度。

样例输入1

Today is a nice day

样例输出1

3

样例输入2

The quick brown fox jumps over the lazy dog   

样例输出2

3

题解:把空格写成0不知道哇了多少发 这个有个技巧从后面读取字符从第一个不为空格开始计数 遇到零就结束
 1 #include <iostream>
 2 #include <algorithm>
 3 #include <cstring>
 4 #include <cstdio>
 5 #include <vector>
 6 #include <cstdlib>
 7 #include <iomanip>
 8 #include <cmath>
 9 #include <ctime>
10 #include <map>
11 #include <set>
12 #include <queue>
13 using namespace std;
14 #define lowbit(x) (x&(-x))
15 #define max(x,y) (x>y?x:y)
16 #define min(x,y) (x<y?x:y)
17 #define MAX 100000000000000000
18 #define MOD 1000000007
19 #define pi acos(-1.0)
20 #define ei exp(1)
21 #define PI 3.141592653589793238462
22 #define INF 0x3f3f3f3f3f
23 #define mem(a) (memset(a,0,sizeof(a)))
24 typedef long long ll;
25 ll gcd(ll a,ll b){
26     return b?gcd(b,a%b):a;
27 }
28 bool cmp(int x,int y)
29 {
30     return x>y;
31 }
32 const int N=10005;
33 const int mod=1e9+7;
34 int main()
35 {
36     std::ios::sync_with_stdio(false);
37     string a;
38     getline(cin,a);
39     int len=a.length();
40     int s=0;
41     for(int i=len-1;i>=0;i--){
42         if(a[i]!=' ') s++;
43         else if(a[i]==' '&&s>0) break;
44     }
45     cout<<s<<endl;
46     return 0;
47 }
原文地址:https://www.cnblogs.com/wydxry/p/7275553.html