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

Posted utomboy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了嘎字符串-字符串中的单词数相关的知识,希望对你有一定的参考价值。

题目:

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

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

示例:

输入: "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;
    }
}

 

以上是关于嘎字符串-字符串中的单词数的主要内容,如果未能解决你的问题,请参考以下文章

每个单词中的字符数

片段(Java) | 机试题+算法思路+考点+代码解析 2023

21个常用代码片段

作业-- 统计文本文件中的字符数单词数行数

PHP 代码片段

LeetCode 434 字符串中的单词数[字符串] HERODING的LeetCode之路