leetcode 58.最後の単語の長さ


すべてのゲームの大文字と小文字の文字を1つだけ与える従文:スペース  ' '  の文字列を返します.
最後の単語が存在しない場合は、0を返します.
説明:単語はアルファベットで構成されていますが、スペースを含まない文字列です.
例:
 “Hello World”
 5

考え方:特殊な状況:1つの単語の状況(スペースなし)、単語の状況(長さ0)、正常な状況.特殊な場合を優先的に判断し,通常の場合はlastIndexOf関数とlength関数を用いて差をつければよい.
質問:提出後、最後にスペースが含まれていることがわかりました.つまり、最後にスペースが山積みになる可能性があります.解決策:スペースが最後の位置に現れるかどうかを判断し、現れるとsubstingで文字列を切断し、関数を再帰すればよい.
class Solution {
    public int lengthOfLastWord(String s){
        //    ,       
        if(s.length()== 0)
              0;
        //    ,       
        if(s.lastIndexOf(“”)== -1)
            return s.length();
        //         ,            
        if(s.lastIndexOf(“”)== s.length() -  1)
        {
            s = s.substring(0,s.length() -  1);
              lengthOfLastWord(s);
        }
        //    
        return s.length() -  s.lastIndexOf(“”)-1;
    }
}