题目链接:Leetcode 58
描述一下题目:
给定一个只有大小写字母和空格的字符串,计算最后一个单词的长度,如果不存在单词,则返回0.
解题思路:
从字符串尾端开始遍历字符串呀~~~设置一个标志位和计数器,当遇到第一个非空格时,标志位置true,同时计数器++直到遇到空格。
代码如下:(C++)
/******************************************************************************* Copyright © 2018-20xx Qiao Chuncheng, All Rights Reserved. File name: 058[最后一个单词的长度].cpp Author: Qiao Chuncheng Version: v1.0 Date: 2018-04-17 *******************************************************************************/ class Solution { public: int lengthOfLastWord(string s) { bool flag = false;//利用flag来确定是经过最后一个单词 int cnt = 0; if (s.empty()) return 0; for (int i = s.length() - 1; i >= 0; i--)//求最后一个单词的长度,从尾部开始扫描 { if (flag == false && s[i] == ' ') continue; if (s[i] != ' ') { cnt++; flag = true; } else { break; } } return cnt; } };