题解 | #判断各类型字符个数#

判断各类型字符个数

http://www.nowcoder.com/practice/4ccc155e474e4d4c83cfde116dcf2218

题意整理。

  • 输入一行字符串。
  • 统计其中英文字母、空格、数字和其它字符的个数。

方法一(循环)

1.解题思路

  • 定义对应类型的计数变量,循环遍历输入的字符串。
  • 通过计数变量,统计对应类型字符的个数。统计完成之后,输出计数变量。

动图展示: alt

2.代码实现

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        int numbers = 0;
        int words = 0;
        int space = 0;
        int other = 0;
        Scanner scanner = new Scanner(System.in);
        String str = scanner.nextLine();

        int n=str.length();
        //遍历输入的字符串
        for(int i=0;i<n;i++){
            char c=str.charAt(i);
            //如果是数字,数字对应计数加1
            if(c>='0'&&c<='9'){
                numbers++;
            }
            //如果是字母,字母对应计数加1
            else if((c>='a'&&c<='z')||(c>='A'&&c<='Z')){
                words++;
            }
            //如果是空格,空格对应计数加1
            else if(c==' '){
                space++;
            }
            //其它字符对应计数加1
            else{
                other++;
            }
        }

        System.out.println("英文字母"+words+"数字"+numbers+"空格"+space+"其他"+other);
    }
}

3.复杂度分析

  • 时间复杂度:需要遍历整个字符串,所以时间复杂度为O(n)O(n)
  • 空间复杂度:需要额外常数级别的空间,所以空间复杂度为O(1)O(1)
xqxls的题解 文章被收录于专栏

牛客题解

全部评论

相关推荐

浪子陪都:简历最优秀的地方放到了后面,国奖,校级奖学金这些是最亮眼的。说明你跟同级别的学生不一样。 建议台灯这个,PCB布局布线这个词汇不专业,业内是PCB Layout,第二,单片机的板子一般不用考虑SI,PI 都是低速信号,只要遵循3W原则就好了。 单片机的项目太low了,技能这块,你要看一下BOSS直聘的招聘要求,按照别人的要求写,一些关键词可以增加你简历被检索到的概率。 主修课程不用写,这个没有人去关注的。
点赞 评论 收藏
分享
Aki-Tomoya:窝趣,人家这是先富带动后富,共同富裕了属于是
投递英伟达等公司10个岗位
点赞 评论 收藏
分享
学不完不睡觉11:一眼点评,不过,看运气吧
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客企业服务