Leetcode笔记整理—easy篇—Length of Last Word

本文介绍了一种使用C语言求解字符串中最后一个单词长度的方法。通过分析两个不同的实现方式,展示了如何有效地处理字符串中的空格和字符,以准确地获取最后一个单词的长度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Length of Last Word

题目描述:

Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the length of last word in the string.

If the last word does not exist, return 0.

Note: A word is defined as a character sequence consists of non-space characters only.

Example:

Input: "Hello World"
Output: 5

结果:

 结果确实超乎我的意料,可以也是本身题目比较简单,整体的参考价值并不大,算是恢复训练吧[]~( ̄▽ ̄)~*。

源码:

int lengthOfLastWord(char *s)
{
	int len = 0,val = 0,ret = 0;
	len = strlen(s);
	while(s[len] == ' ' || s[len] == 0)
	{
		len--;	
	}
	val = len;
	
	if(s[len] == 0)
	return 0;

	while(s[val] != ' ' && val >= 0)
	{
		val--;
		ret++;
	}
	return ret;
}

至于参考代码,在这里鸣谢大神,这里摘抄只为学习٩(๑❛ᴗ❛๑)۶:

 int lengthOfLastWord(const char* s) {
        int len = 0;
        while (*s) {
            if (*s++ != ' ')
                ++len;
            else if (*s && *s != ' ')
                len = 0;
    
        }
        return len;
    }

分析代码不难发现,除了本质的算法之外,还是尽可能的应用了语法糖来简化书写,同时考虑到本题比较容易,没有太多效率上的限制,所以还是十分优雅的。而且在评论区对于本题的负面评价还是比较多的,认为本题没啥搞头,主要在于对异常的处理;但总体上来讲本题对恢复状态还是很有帮助的ヽ( ̄▽ ̄)ノ。


由于考研的缘故已经一年多没有更新了,今天上号时突然发现有了500多的观看量,感到又惊讶又欣喜,之前以为不会有人看的,所以写的时候也只是为了自我复习,但现在有了全新的动力支撑我继续写下去,谢谢那些曾经关注过我的人,希望我的文章能对你们有所帮助٩(๑>◡<๑)۶。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值