バックル-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(''')に誤判が生じ、一番後ろのスペースを戻り結果と見なします.最後の単語の前のスペースが必要です
 
最後に、文字列の長さで最後の単語の前のスペースを減算し、少しデバッグすると、最後の単語の長さになります.