1. Descrição do problema:
Dada uma string s contendo apenas letras e espaços em maiúsculas e minúsculas '', retorne o comprimento de sua última palavra. Se a string rolar da esquerda para a direita, a última palavra será a última que aparecerá.
Se a última palavra não existir, retorne 0.
Nota: Uma palavra refere-se à maior substring que consiste apenas em letras e não contém caracteres de espaço.
Exemplo:
Entrada: "Olá Mundo"
Saída: 5
Fonte:
link LeetCode : https://leetcode-cn.com/problems/length-of-last-word
2. Análise do pensamento:
Fact De fato, a ideia é relativamente simples.De acordo com o título, você pode saber que existem apenas letras e espaços em maiúsculas e minúsculas na string, portanto, você pode usar diretamente a API Java para resolvê-la.Você pode usar o método split para dividir a string em Java. , O comprimento do último elemento é o resultado
② Você precisa prestar atenção à situação especial da sequência de entrada, basta fazer um julgamento simples
3. O código é o seguinte:
Escrito diretamente:
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();
}
}
O código encontrado na solução para a fivela do colar é muito bom. Ele só pode começar a olhar para a frente depois da corda, primeiro removendo o espaço e depois procurando a última palavra. O código é o seguinte:
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;
}
}