当前位置: 面试刷题>> 最后一个单词的长度(经典算法150题)


题目描述

编写一个函数,该函数接收一个字符串作为输入,字符串由若干个由空格分隔的单词组成,要求返回最后一个单词的长度。如果字符串是空的,则返回0。

示例

输入:"Hello World" 输出:5

输入:" Fly me to the moon " 输出:4

输入:"" 输出:0

PHP 示例代码

function lengthOfLastWord($s) {
    // 去除字符串两端的空格
    $trimmedStr = trim($s);
    // 使用explode函数以空格为分隔符分割字符串,并获取最后一个元素
    $words = explode(" ", $trimmedStr);
    // 如果数组为空,则返回0
    if (empty($words)) {
        return 0;
    }
    // 返回最后一个单词的长度
    return strlen(end($words));
}

// 示例
echo lengthOfLastWord("Hello World"); // 输出 5
echo "\n";
echo lengthOfLastWord("   Fly me   to   the moon  "); // 输出 4
echo "\n";
echo lengthOfLastWord(""); // 输出 0

Python 示例代码

def lengthOfLastWord(s):
    # 使用strip()去除字符串两端的空格,然后split()以空格为分隔符分割字符串
    words = s.strip().split()
    # 如果列表为空,则返回0
    if not words:
        return 0
    # 返回最后一个单词的长度
    return len(words[-1])

# 示例
print(lengthOfLastWord("Hello World"))  # 输出 5
print(lengthOfLastWord("   Fly me   to   the moon  "))  # 输出 4
print(lengthOfLastWord(""))  # 输出 0

JavaScript 示例代码

function lengthOfLastWord(s) {
    // 使用trim()去除字符串两端的空格,然后split()以空格为分隔符分割字符串
    const words = s.trim().split(' ');
    // 如果数组为空,则返回0
    if (words.length === 0) {
        return 0;
    }
    // 返回最后一个单词的长度
    return words[words.length - 1].length;
}

// 示例
console.log(lengthOfLastWord("Hello World")); // 输出 5
console.log(lengthOfLastWord("   Fly me   to   the moon  ")); // 输出 4
console.log(lengthOfLastWord("")); // 输出 0

文章插入

在编写这些算法时,理解字符串操作和数组处理是非常关键的。通过这些练习,我们可以提升在处理文本数据时的效率和准确性。对于初学者来说,多实践这类问题不仅有助于掌握编程基础知识,还能在实际开发中应对类似挑战。如果你在学习算法和数据结构的过程中遇到困惑,不妨来我的码小课网站逛逛,这里有丰富的教程和练习,帮助你更好地掌握编程技能。

推荐面试题