力扣 题目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 }

浙公网安备 33010602011771号