leetcode 58.最後の単語の長さ
すべてのゲームの大文字と小文字の文字を1つだけ与える従文:スペース
最後の単語が存在しない場合は、0を返します.
説明:単語はアルファベットで構成されていますが、スペースを含まない文字列です.
例:
考え方:特殊な状況:1つの単語の状況(スペースなし)、単語の状況(長さ0)、正常な状況.特殊な場合を優先的に判断し,通常の場合はlastIndexOf関数とlength関数を用いて差をつければよい.
質問:提出後、最後にスペースが含まれていることがわかりました.つまり、最後にスペースが山積みになる可能性があります.解決策:スペースが最後の位置に現れるかどうかを判断し、現れるとsubstingで文字列を切断し、関数を再帰すればよい.
' '
の文字列を返します.最後の単語が存在しない場合は、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;
}
}