58. Length of Last Word

LeetCode easy original: C# #csharp #easy #leetcode #search #string
O texto da tarefa é traduzido do russo para o idioma selecionado. O código permanece sem alterações.

Дана string s, состоящая из слов и пробелов. return длину последнего слова в строке.

Слово — это максимальная substring, состоящая только из символов, не являющихся пробелами.

Exemplo

Input: s = "Hello World"

Output: 5

Explanation: The last word is "World" with length 5.

C# solução

correspondente/original
class Solution {
public:
    int lengthOfLastWord(string s) {
        int p = s.length() - 1;
        while (p >= 0 && s[p] == ' ') {
            p--;
        }
        int length = 0;
        while (p >= 0 && s[p] != ' ') {
            p--;
            length++;
        }
        return length;
    }
};

C++ solução

rascunho automático, revisar antes de enviar
#include <bits/stdc++.h>
using namespace std;

// Auto-generated C++ draft from the C# solution. Review containers, LINQ and helper types before submit.
class Solution {
public:
    int lengthOfLastWord(string s) {
        int p = s.length() - 1;
        while (p >= 0 && s[p] == ' ') {
            p--;
        }
        int length = 0;
        while (p >= 0 && s[p] != ' ') {
            p--;
            length++;
        }
        return length;
    }
};

Java solução

correspondente/original
class Solution {
    public int lengthOfLastWord(String s) {
        int p = s.length() - 1;
        while (p >= 0 && s.charAt(p) == ' ') {
            p--;
        }

        int length = 0;
        while (p >= 0 && s.charAt(p) != ' ') {
            p--;
            length++;
        }
        return length;
    }
}

JavaScript solução

correspondente/original
var lengthOfLastWord = function (s) {
    let p = s.length - 1;
    while (p >= 0 && s[p] === " ") {
        p--;
    }
    let length = 0;
    while (p >= 0 && s[p] !== " ") {
        p--;
        length++;
    }
    return length;
};

Python solução

correspondente/original
class Solution:
    def lengthOfLastWord(self, s: str) -> int:
        p = len(s) - 1
        while p >= 0 and s[p] == " ":
            p -= 1

        length = 0
        while p >= 0 and s[p] != " ":
            p -= 1
            length += 1
        return length

Go solução

correspondente/original
func lengthOfLastWord(s string) int {
    p := len(s) - 1
    for p >= 0 && s[p] == ' ' {
        p--
    }
    length := 0
    for p >= 0 && s[p] != ' ' {
        p--
        length++
    }
    return length
}

Algorithm

1️⃣

Поиск последнего слова:

Сначала мы пытаемся find последнее слово, начиная с конца строки. Итерируем строку в обратном порядке, пропуская пробелы. Когда мы встречаем первый непробельный символ, мы знаем, что нашли последний символ последнего слова.

2️⃣

Definição длины последнего слова:

После того как последнее слово найдено, мы подсчитываем его длину, начиная с его последнего символа. Здесь также можно использовать цикл.

3️⃣

Итог:

Используя обратную итерацию и пропуск пробелов, определяется начало и конец последнего слова в строке для вычисления его длины.

😎

Vacancies for this task

vagas ativas with overlapping task tags are mostradas.

Todas as vagas
Ainda não há vagas ativas.