HJ1 字符串最后一个单词的长度

该文介绍了一种计算字符串中最后一个单词长度的方法,包括使用Java的split函数和从后向前遍历两种方案。这两种方法的时间复杂度均为O(n),其中n是字符串的长度。在示例中,给定字符串hellonowcoder,输出为8,因nowcoder是最后一个单词,其长度为8。
摘要由CSDN通过智能技术生成

题源 👉 字符串最后一个单词的长度_牛客题霸_牛客网 (nowcoder.com)

题目描述:

image-20230108181923855

实例:

输入:hello nowcoder

输出:8

说明:最后一个单词为nowcoder,长度为8

思路:

输入的字符串末尾不以空格为结尾

方法一:

Java直接使用 split 将接收的字符串按空格分裂为 String数组,直接取最后一个字符串的长度

方法二:

将接收的字符串从末端开始计数,遇到空格则停

具体实现:

方法一:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
        String[] str = s.split(" ");
        System.out.println(str[str.length - 1].length());
    }
}

方法二:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
        int cnt = 0; 
        for(int i = s.length() - 1; i >= 0; i--){
            if(s.charAt(i) == ' ')
                break;
            cnt++;
        }
        System.out.println(cnt);
    }
}

时间复杂度:

都是 O(n)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值