一.解法
https://leetcode-cn.com/problems/length-of-last-word/
要點:分詞
可以不用分詞做,從后往前指向第一個不是空格的字符颜懊,再往前指到第一個空格的字符算下標(biāo)差可以做束亏,但分詞可以更快解決
Python和Java自帶分詞聂宾,C++需要自己寫split函數(shù)
Java需要用try{} catch(Exception e){}避免全空格的字符串
二.Python實現(xiàn)
class Solution:
def lengthOfLastWord(self, s: str) -> int:
s=s.split()
return len(s[-1]) if s else 0
三.C++實現(xiàn)
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實現(xiàn)
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;
}
}
}