Leecode刷题之旅-C语言/python-434 字符串中的单词数
Posted 李逍遥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leecode刷题之旅-C语言/python-434 字符串中的单词数相关的知识,希望对你有一定的参考价值。
/* * @lc app=leetcode.cn id=434 lang=c * * [434] 字符串中的单词数 * * https://leetcode-cn.com/problems/number-of-segments-in-a-string/description/ * * algorithms * Easy (29.13%) * Total Accepted: 4.2K * Total Submissions: 14.2K * Testcase Example: ‘"Hello, my name is John"‘ * * 统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。 * * 请注意,你可以假定字符串里不包括任何不可打印的字符。 * * 示例: * * 输入: "Hello, my name is John" * 输出: 5 * * */ int countSegments(char* s) { if(s==NULL||strlen(s)==0) return 0; int i=0,j,count=0; while(i<strlen(s)){ while(i<strlen(s)&&s[i]==‘ ‘) i++;//i每次移到第一个非空格处 j = i; while(j<strlen(s)&&s[j]!=‘ ‘)j++;//j每次移到第一个空格处,i和j之间就是一个单词 if(i<j){ i=j; count++; } else { return count;//当最后一个单词后面有空格时,从此出口结束。 } } return count;//当最后一个单词后面没有空格时,从此出口结束。 }
思路是 双指针,i找到第一个非空格字符,j从i的位置开始找到第一个为空格的字符,i<j,那么ij之间的就是一个单词,计数就加一,然后i移动到j的位置进行下一次寻找。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
python:
# # @lc app=leetcode.cn id=434 lang=python3 # # [434] 字符串中的单词数 # # https://leetcode-cn.com/problems/number-of-segments-in-a-string/description/ # # algorithms # Easy (29.13%) # Total Accepted: 4.2K # Total Submissions: 14.2K # Testcase Example: ‘"Hello, my name is John"‘ # # 统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。 # # 请注意,你可以假定字符串里不包括任何不可打印的字符。 # # 示例: # # 输入: "Hello, my name is John" # 输出: 5 # # # class Solution: def countSegments(self, s: str) -> int: return len(s.split())
python就很简单了。一个split搞定。
以上是关于Leecode刷题之旅-C语言/python-434 字符串中的单词数的主要内容,如果未能解决你的问题,请参考以下文章
Leecode刷题之旅-C语言/python-118杨辉三角
Leecode刷题之旅-C语言/python-141环形链表
Leecode刷题之旅-C语言/python-121买卖股票的最佳时机
Leecode刷题之旅-C语言/python-26.删除数组中的重复项