58最後の単語の長さ

1.問題の説明:

大文字と小文字およびスペースのみを含む文字列sが与えられた場合、 ''最後の単語の長さを返します。文字列が左から右にスクロールする場合、最後の単語は表示される最後の単語です。

最後の単語が存在しない場合は、0を返します。

注:単語とは、文字のみで構成され、スペース文字を含まない最大の部分文字列を指します。

例:

入力:「Hello World」
出力:5

ソース:LeetCode
リンク:https ://leetcode-cn.com/problems/length-of-last-word

2.思考分析:

①実は比較的単純な考え方ですが、タイトルからわかるように、文字列には大文字と小文字とスペースしか含まれていないため、java apiを直接使用して解決できます。splitメソッドを使用すると、javaで文字列を分割できます。 、最後の要素の長さが結果です

②入力文字列の特殊な状況に注意を払い、簡単な判断をする必要がある

3.コードは次のとおりです。

直接記述:

class Solution {
    public static int lengthOfLastWord(String s) {
        if(s.equals("")) return 0;
        String str[] = s.split(" ");
        if(str.length == 0) return 0;
        return str[str.length - 1].length();
    }
}

首輪のバックルのソリューションにあるコードは非常に優れています。これは、文字列の後ろから始めて、最初にスペースを削除してから、最後の単語を探すことしかできません。コードは次のとおりです。

class Solution {
    public int lengthOfLastWord(String s) {
        int end = s.length() - 1;
        while(end >= 0 && s.charAt(end) == ' ') end--;
        if(end < 0) return 0;
        int start = end;
        while(start >= 0 && s.charAt(start) != ' ') start--;
        return end - start;
    }
}

 

元の記事569件を公開 153のような 訪問数590,000+

おすすめ

転載: blog.csdn.net/qq_39445165/article/details/105303559