1. Descripción del problema:
Dada una cadena s que contiene solo letras mayúsculas y minúsculas y espacios '', devuelve la longitud de su última palabra. Si la cadena se desplaza de izquierda a derecha, la última palabra es la última palabra que aparece.
Si la última palabra no existe, devuelva 0.
Nota: Una palabra se refiere a la subcadena más grande que consiste solo en letras y que no contiene caracteres de espacio.
Ejemplo:
Entrada: "Hola mundo"
Salida: 5
Fuente:
enlace de LeetCode : https://leetcode-cn.com/problems/length-of-last-word
2. Análisis de pensamiento:
① De hecho, la idea es relativamente simple. Según el título, puede saber que solo hay letras mayúsculas y minúsculas y espacios en la cadena, por lo que puede usar directamente la API de Java para resolverla. Puede usar el método de división para dividir la cadena en Java. , La longitud del último elemento es el resultado
② Debe prestar atención a la situación especial de la cadena de entrada, simplemente haga un juicio simple
3. El código es el siguiente:
Directamente escrito:
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();
}
}
El código que se encuentra en la solución para la hebilla del collar es muy bueno. Solo puede comenzar a mirar hacia adelante después de la cadena, primero eliminando el espacio y luego buscando la última palabra. El código es el siguiente:
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;
}
}