一.解法
https://leetcode-cn.com/problems/length-of-last-word/
要点:分词
可以不用分词做,从后往前指向第一个不是空格的字符,再往前指到第一个空格的字符算下标差可以做,但分词可以更快解决
Python和Java自带分词,C++需要自己写split函数
Java需要用try{} catch(Exception e){}避免全空格的字符串
二.Python实现
class Solution:
def lengthOfLastWord(self, s: str) -> int:
s=s.split()
return len(s[-1]) if s else 0
三.C++实现
class Solution {
public:
vector<string> answer;
int lengthOfLastWord(string s) {
int flag=0;
for(int i=0;i<s.length();i++){
if(s[i]!=' ') {flag=1;break;}
}
if(flag==0) return 0;
answer=split(s);
string laststring=answer[answer.size()-1];
return laststring.length();
}
vector<string> split(string s){
vector<string> temp;
istringstream in(s);
string t;
while (in >> t) {
temp.push_back(t);
}
return temp;
}
四.java实现
class Solution {
public int lengthOfLastWord(String s) {
try{
String[] splitWord=s.split(" ");
int length=splitWord.length;
return splitWord[length-1].length();}
catch(Exception e){
return 0;
}
}
}