バックル-58最後の単語の長さ
1040 ワード
' ' , 。
, 0 。
: , 。
:
: "Hello World"
: 5
これは基礎的な文字列処理の問題です.コード量を減らすには,文字列法を一定の認識が必要である.
Javaでこの問題を解決する場合、StringのlastIndexOfメソッドを知らない場合は、charAtメソッドで一番後ろから1つずつ読み取ることができます.
後ろから前へ、最初の非スペース文字からカウントを開始し、スペースまたは下付きの境界に出会うまでカウントします.
lastIndexOfメソッドを知っていれば,コード量はかなり減少する.
このメソッドは最後の文字が表示される位置を返します.もちろん、リロードメソッドはたくさんありますが、機能は似ています.
このように、最後のスペースが現れる位置を得ると、この位置から文字列の最後まで、この長さが最後の単語の長さになります.
コード:
class Solution {
public int lengthOfLastWord(String s) {
s = s.trim();
int x = s.lastIndexOf(' ');
return s.length() - x - 1;
}
}
このメソッドを呼び出す前にtrim()メソッドを呼び出すことに気づきます.
trimメソッドの役割は、前後のすべてのスペースを削除する文字列を返すことです.
前後のスペースを外す目的は、「hello world」の出現を防ぐことです.
この場合、lengthOfLastWord(''')に誤判が生じ、一番後ろのスペースを戻り結果と見なします.最後の単語の前のスペースが必要です
最後に、文字列の長さで最後の単語の前のスペースを減算し、少しデバッグすると、最後の単語の長さになります.