【嘎】字符串-字符串中的单词数

题目:

统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。

请注意,你可以假定字符串里不包括任何不可打印的字符。

示例:

输入: "Hello, my name is John"
输出: 5
解释: 这里的单词是指连续的不是空格的字符,所以 "Hello," 算作 1 个单词。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/number-of-segments-in-a-string

一开始用了split得到数组的方式,自己又想到了空格变成多个的情况,感觉不对

emmm然后想到了遍历string

class Solution {
    public int countSegments(String s) {
        int res = 0;
        boolean flag = false; // 是空的
        if (s != null && s.trim().length() > 0) {
            for (int i = 0; i < s.length(); i++) {
                char c = s.charAt(i);
                // 不为空
                if (String.valueOf(c) != null && (c + "").trim().length() > 0 ) {
                    // 原来为空
                    if (!flag ) {
                        res++;
                    }
                    flag = true;
                } else {
                    flag = false;
                }
            }
        }
        return res;
    }
}

这种方法好慢:

后来看到题解中还是有人用split了,然后再遍历一次,将是空格的去掉,那时候的空格肯定都会是 " "

class Solution {
    public int countSegments(String s) {
        String[] arr = s.split(" ");
        int len = 0;
        for (String t : arr) {
            if (t.equals(" ") || t.isEmpty()){
                continue;
            }
            len++;
        }
        return len;
    }
}

原文地址:https://www.cnblogs.com/utomboy/p/12698781.html

时间: 04-11

【嘎】字符串-字符串中的单词数的相关文章

编译器DIY之———统计英文文本中的单词数,字符数和行数

咳咳,这一章节应该是连载编译器的DIY的,可是在做DIY之前先用flex 来练练手,对于后面的理解有帮助作用. 在word 中我经常看到有一个单词统计的功能,那么是怎么来实现的了,当然第一个念头就是遍历整个文本依据换行和空格对字符串进行分析,那么这是可行的.可是能不能简单点了,其实对文本做单词分析,大家都知道怎么做,难得地方可能就是代码的实现了,那么现在如果使用正则表达式来实现的话,那么一切问题就Over 了. 环境:ubuntu(当然装了flex的windows和mac也可以) 原码: %{

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, m

leetcode 434. 字符串中的单词数(Number of Segments in a String)

目录 题目描述: 示例: 解法: 题目描述: 统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符. 请注意,你可以假定字符串里不包括任何不可打印的字符. 示例: 输入: "Hello, my name is John" 输出: 5 解法: class Solution { public: int countSegments(string s) { int res = 0; int sz = s.size(); int i = 0, j = 0; while(i < sz

434. JAVA字符串中的单词数

统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符. 请注意,你可以假定字符串里不包括任何不可打印的字符. 示例: 输入: "Hello, my name is John"输出: 5解释: 这里的单词是指连续的不是空格的字符,所以 "Hello," 算作 1 个单词 链接:https://leetcode-cn.com/problems/number-of-segments-in-a-string 思路:使用String API中的类: trim(),sp

【字符串处理】codevs 1131 统计单词数

131 统计单词数 2011年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题目描述 Description 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数.现 在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置.注意:匹配单词时,不区分大小写,但要求 完全匹配,即给定单词必须与文章中的某一独立单词在不区分大

HDU 2072.单词数【STL的优势以及字符串流的使用】【8月4】

单词数 Problem Description lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数.下面你的任务是帮助xiaoou333解决这个问题. Input 有多组数据,每组一行,每组就是一篇小文章.每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束. Output 每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数. Sample Input you are my friend # Sample

php正则表达式在字符串处理中的应用

初次接触正则表达式的人除了感觉它有些繁琐外,还会有一种深不可测的感觉.其实正则表达式就是描述字符排列模式的一种自定义的语法 规则,在PHP给我们提供的系统函数中,使用这种模式对字符串进行匹配.查找.替换及分割等操作,它的应用非常广泛.例如,常见的使用正则表达式去验证用 户在表单中提交的用户名.密码.E-mail地址.身份证号码及电话号码等格式是否合法;在用户发布文章时,将输入有URL的地方全部加上对应的链接;按 所有标点符号计算文章中一共有多少个句子;抓取网页中某种格式的数据等等. 正则表达式并

数组转字符串(属性加单引号,逗号分隔)

数组转字符串(属性加单引号,逗号分隔) 数组转字符串 PHP 应用场景:SQL写操作应用插入表字段值: 数组 $data $data = array('张三','男','20',''安徽省合肥市 '); 转换如下: #join $str = " ' " . join("','", array_values($data) ) . " ' "; #str_replace $str = " ' ".str_replace( &quo

istringstream字符串流,实现类似字符串截取的功能,字符串流中的put,str()将流转换成为字符串string

 1. istringstream字符串流 #include <iostream> #include <sstream> #include <string> using namespace std; struct MyStruct { string str1, str2, str3; double db; int num; char ch; }; void main() { string  mystring("china  google microsoft