力扣 题目58-最后一个单词的长度

题目


题解

从后面开始遍历找到第一个不为空的位置 记录 然后继续遍历直到为空、

 1 #include<iostream>
 2 #include<string>
 3 using namespace std;
 4 class Solution {
 5 public:
 6     int lengthOfLastWord(string s) {
 7         //从后往前
 8         int end= s.length() - 1;
 9         int begin=0;
10         for (int i = s.length() - 1; i > -1; i--) {
11             if (s[i] != ' ') {
12                 end = i;
13                 break;
14             }
15         }
16 
17         for (int i = end; i > -1; i--) {
18             if (s[i] == ' ') {
19                 begin = i+1;
20                 break;
21             }
22         }
23         return end- begin+1;
24     }
25 };
26 int main() {
27     Solution sol;
28     string s = "   mc    ";
29     int len=sol.lengthOfLastWord(s);
30     cout << len << endl;
31 }
View Code

 

posted @ 2022-05-21 13:41  无聊的阿库娅  阅读(24)  评论(0)    收藏  举报