LeetCode简单题:58. 最后一个单词的长度(Python,C++,Java)

一.解法

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;
        }

    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容