Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem "přeskočení" tečky

Ono to totiž bylo celé špatně už na začátku a ne až teď. A aby se to zprovoznilo, tak je potřeba odstranit všechny chyby a ne jenom některé, na které jsem zatím upozornil. Dneska jsem asi moc měkký, takže uvedu příklad, jak by to mohlo vypadat. Ale dělám to fakt výjimečně.

bool isPalindrome(string input)
{
    var first = 0;
    var last = input.Length - 1;
    while (first < last)
    {
        var firstChar = input[first];
        if (shouldSkip(firstChar))
        {
            first++;
            continue;
        }

        var lastChar = input[last];
        if (shouldSkip(lastChar))
        {
            last--;
            continue;
        }

        if (char.ToLower(firstChar) != char.ToLower(lastChar))
            return false;

        first++;
        last--;
    }
    return true;
}

bool shouldSkip(char chr)
{
    return chr < 48 || (chr > 57 && chr < 65) || (chr > 90 && chr < 97) || chr > 122;
}

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny