【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主,题解使用C++语言。(若有使用其他语言的同学也可了解题解思路,本质上语法内容一致)
【题目描述】
给你一个字符串 s
,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
【示例一】
输入:s = "Hello World" 输出:5 解释:最后一个单词是“World”,长度为5。
【示例二】
输入:s = " fly me to the moon " 输出:4 解释:最后一个单词是“moon”,长度为4。
【示例三】
输入:s = "luffy is still joyboy" 输出:6 解释:最后一个单词是长度为6的“joyboy”。
【提示及数据范围】
1 <= s.length <= 10的4次方
s
仅有英文字母和空格' '
组成s
中至少存在一个单词
【代码】
// 用C++ 的stringstream方法直接对一行字符串里的字串读入,直到为空class Solution {
public:int lengthOfLastWord(string s) {string line;stringstream ssin(s);int length;while(ssin >> line){length = line.size();}return length;}
};