首页 > 试题广场 >

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

[编程题]字符串最后一个单词的长度
  • 热度指数:1490007 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾

输入描述:

输入一行,代表要计算的字符串,非空,长度小于5000。



输出描述:

输出一个整数,表示输入字符串最后一个单词的长度。

示例1

输入

hello nowcoder

输出

8

说明

最后一个单词为nowcoder,长度为8   
推荐
/*使用动态数组来做,输入的字符串依次存入数组中,
最后返回数组中最后一个元素(字符串)的长度*/
#include<iostream>
#include<string>
#include<vector>

using namespace std;

int main(){
	string input;
	vector<string>arr;
    while(cin>>input){
    	arr.push_back(input);
	}
	cout<<arr[arr.size()-1].length()<<endl;		
	return 0;
}

编辑于 2016-08-29 14:07:27 回复(93)
let str=readline();
let arr=str.split(" ");
console.log(arr[arr.length-1].length);
发表于 2023-02-17 13:53:35 回复(0)
与c语言实现的比较,会慢大概60ms,内存占用大8000kb
发表于 2023-02-01 11:20:36 回复(0)
//引入readline依赖读取行数据作为输入数据
const readline = require('readline');
//创建实例,传入标准输入输出作为数据的输入输出流
const rl = readline.createInterface({
    input:process.stdin,
    output:process.stdout
})
//监听与处理readline事件
rl.on('line', line => {
    //方法一
    // const arr = line.split(' ')
    // const num = arr[arr.length - 1].length

    //方法二
    const arr = line.trim();
    const num = arr.length - arr.lastIndexOf(' ') - 1
    console.log(num)
})

发表于 2022-10-23 15:47:13 回复(0)
function test (string){
    if(string.length == 0 )return 0
    var arr = string.split('');
    arr.reverse();
    if(arr.indexOf(' ') !== -1){
        return arr.indexOf(' ');
    }else{
        return arr.length
    }
    
}

发表于 2022-04-16 16:28:48 回复(0)
const readline = require('readline');

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
rl.on('line', function (line) {
    // 1、截取最后的一个单词并计算长度
    // var num = line.substring(line.lastIndexOf(' '), line.length - 1).length;
    // console.log(num);
    // 2、先将字符串转换为数组,在获取数组最后一个元素的长度
    var arr = line.split(' ');
    console.log(arr[arr.length - 1].trim().length)
});

发表于 2022-04-14 11:18:22 回复(0)
朴实无华for循环
function fn(line) {
        var count = 0;
        for (let i = line.length; i--; i >= 0) {
          if (line[i] === " ") break;
           count++
        }
        console.log(count);
      }
发表于 2022-02-26 00:50:05 回复(0)
while (line = readline()) {
    var lines = line.split(' ');
    print(lines[lines.length - 1].length);
}
发表于 2022-02-20 15:04:46 回复(0)
const readline = require('readline')

var rl = readline.createInterface({
    input:process.stdin,
    output:process.stdout
})

rl.on('line',(line)=>{
    var arr = line.split(' ')
    console.log(arr[arr.length - 1].length)
//     var newLine = line.substring(line.indexOf(' ')+1)
    
})
rl.on('close',()=>{
    
})
发表于 2021-09-03 21:32:45 回复(0)
这题也太简单了吧,我都怀疑哪里出错了
const readline = require('readline');

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
rl.on('line', function (str) {
    if(!str){
        console.log(0)
        return
    }
    let index=str.lastIndexOf(' ')
    console.log(str.length-index-1)
});

发表于 2021-08-02 20:54:46 回复(0)
const readline = require("readline");

const rl = readline.createInterface({
    input:process.stdin,
    output:process.stdout
})

rl.on("line",function(line){
    const arr = line.split(" ");
    const arr2 = arr[arr.length-1].split("");
    console.log(arr2.length)
})

发表于 2021-07-23 13:39:05 回复(0)
查找了很久才发现自己没有使用readline方法读取用户输入的内容,导致运行不成功
function computeStr(str){
    if(str){
        let strArr=str.split(' ');
        return strArr[strArr.length-1].length
    }
}
var str=readline();//读取用户输入的内容
console.log(computeStr(str))
发表于 2021-06-15 14:02:23 回复(0)
while(str = readline()){
    const arr = str.split(" ");
    const arstr = arr[arr.length-1];
    console.log(arstr.length);
}

发表于 2021-06-11 14:54:10 回复(0)
const readline = require('readline');
let rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});
rl.on('line',line => {
    line=' '+line;
    let i=line.length;
    while(line[i-1]!=' ')
       {
           i--;
       }
    console.log(line.length-i)
})

发表于 2021-06-09 19:20:48 回复(0)
var word = readline();
function count(str){
    return str.indexOf(' ') > -1 ? str.split(' ')[str.split(' ').length - 1].length : str.length;
}
console.log(count(word));
发表于 2021-06-08 09:58:12 回复(0)
let readline = require('readline');

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

rl.on('line', function(line){
   var str = line.split(' ').pop();
   console.log(str.length)
});
编辑于 2021-05-26 17:47:00 回复(0)

简述

将输入的字符串用split方法通过空格切割为数组,取到数组最后一位,输入其长度即为字符串最后一个单次的长度,如果输入的字符串长度超过5000,提示字符串过长

代码

var readline = require('readline');
var rl = readline.createInterface({ 
 input:process.stdin,
 output:process.stdout
});
rl.on("line",(answer)=>{ 
 if(answer.length>5000){
   console.log("字符串过长"); 
   rl.close();
 }
 var str = answer.split(" ");
 var strend = str[str.length-1];
 console.log(strend.length);
 // 不加close,则不会结束
 rl.close();
});
// close事件监听
rl.on("close", function(){ 
 // 结束程序
 process.exit(0);
});
发表于 2021-05-24 15:31:36 回复(0)
为啥不通过啊 看不懂了  
function lastWordLength(s){
    var sArray = s.split(' ')
    var len = sArray.length
    return sArray[len - 1 ].length
  }
发表于 2021-05-17 19:40:13 回复(0)
const str = readline()
console.log(str.indexOf(' ') === -1 ? str.length : str.split(' ').slice(-1)[0].length)
发表于 2021-05-14 18:06:16 回复(0)
javascript
let s = readline()
let arr = s.split(" ")
print(arr[arr.length-1].length)


发表于 2021-03-15 12:43:32 回复(0)