35:字符串单词倒排 ReverseWords

题目描述:对字符串中的所有单词进行倒排。

说明:

1、每个单词是以26个大写或小写英文字母构成;

2、非构成单词的字符均视为单词间隔符;

3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;

4、每个单词最长20个字母;

输入描述:输入一行以空格来分隔的句子

输出描述:输出句子的逆序

输入例子:I am a student

输出例子:student a am I

注意:

非构成单词的字符均视为单词间隔符--》split("[^a-zA-Z]+"),参数为一个正则表达式。

一定要注意:::split在分隔字符串的时候,如果这个字符串的起始位置就匹配正则表达式,那么你分隔得到的字符串数组的第一个元素是一个空串,

如果这个字符串的末尾位置匹配正则表达式,那么忽略,你得到的字符串数组中没有包含空串的元素

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner in = new Scanner(System.in);
        while(in.hasNext())
        {
            String input = in.nextLine();
            String[] inputArray = input.split("[^a-zA-Z]+");
            for(int i = inputArray.length-1; i >= 2; i--)
            {
                System.out.print(inputArray[i] + " ");
            }
            if(inputArray[0].length()==0)
//如果字符串数组的第一个元素是空串,那么下标为1的元素就是最后一个要输出的元素,末尾不要再加空格
            {
                System.out.print(inputArray[1]);
            }else
            System.out.print(inputArray[1] + " " + inputArray[0]);
        }

    }

}
时间: 2024-11-18 09:21:13

35:字符串单词倒排 ReverseWords的相关文章

28:单词倒排

28:单词倒排 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单词的顺序倒排并输出,依然以单个空格分隔. 输入 输入为一个字符串(字符串长度至多为100). 输出 输出为按要求排序后的字符串. 样例输入 I am a student 样例输出 student a am I #include<iostream> #include<cstring> #include<

Openjudge-计算概论(A)-单词倒排

描述: 编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单词的顺序倒排并输出,依然以单个空格分隔. 输入输入为一个字符串(字符串长度至多为100).输出输出为按要求排续后的字符串. 样例输入 I am a student 样例输出 student a am I思路:首先把字符串先反转,从前往后扫,遇到空格处理一下单词,要特别注意:最后一个单词不同于其他单词,要单独处理!代码如下(本代码来自我的老师:http://www.cnblogs.com/huashanqingzhu

OJ_单词倒排

题目描述:对字符串中的所有单词进行倒排. 说明: 1.每个单词是以26个大写或小写英文字母构成,可以用一个"-"中连接线连接单词两部分表示一个单词,但是仅限一个"-",出现两个"--"则为非构成单词的字符: 2.非构成单词的字符均视为单词间隔符: 3.要求倒排后的单词间隔符以一个空格表示:如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符: 4.每个单词最长20个字母: 5.输出字符串,否则输出-1. 样例输入: i*&

单词倒排

总时间限制:  1000ms 内存限制:  65536kB 描述 编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单词的顺序倒排并输出,依然以单个空格分隔. 输入 输入为一个字符串(字符串长度至多为100). 输出 输出为按要求排序后的字符串. 样例输入 I am a student 样例输出 student a am I 代碼實現: 1 #include<iostream> 2 using namespace std; 3 int n; 4 char word[100

华为OJ——单词倒排

题目描述 对字符串中的所有单词进行倒排. 说明: 1.每个单词是以26个大写或小写英文字母构成: 2.非构成单词的字符均视为单词间隔符: 3.要求倒排后的单词间隔符以一个空格表示:如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符: 4.每个单词最长20个字母: 输入描述: 输入一行以空格来分隔的句子 输出描述: 输出句子的逆序 输入例子: I am a student 输出例子: student a am I 方法一: import java.util.*; publ

Python 单词字母顺序不变且全部倒排

翻出google测试工程师的一道题目: 设计一个函数,任何语言都可以,实现以下功能: 一个句子,将句子中的单词全部倒排过来,但单词的字母顺序不变.eg.  this is a real world输出结果为:world real a is this 笔者用Python实现如下: #! /usr/bin/env python # -* -coding:utf-8-*- def str_reverse(str): str_dst =str.split()[A1] str_dst.reverse()[

信息检索导论学习笔记 -- 第二章:词项词典及倒排记录表

2.1.1 文档分析及编码转换:      文档处理第一步,是将文件或web服务器上的一系列二进制字节序列转换为字符序列.      在实际中,首先要判断出文档的编码方式(机器学习分类.启发式等方法),确定文档的类型(word?zip?)然后将字节序列转换成字符序列. 2.1.2 文档单位(document unit)的选择:      常见的,将某个目录下的每个文件都看成一个文档.      但有些情况并非如此,比如我们可能希望将邮件.附件(附件中的文件)分开.      对于一个长文档而言,

关于信息检索-倒排文件系统架构解析

信息检索 信息检索我们常见的模型包括: bool model static langulage model vector space model 这里面主要涉及到的问题就是:query expresion,term correlation analysis,similarity computing,feature selection.那么对于similarity computing 阶段,主要的制约条件是内存限制,所以我们要改进term在document中的搜索时间,从而减少similarity

倒排表数据结构、通配符查询、拼写纠正详解

目录: Dictionary Data Structure  词典数据结构 Wild-Card Query  通配符查询 Spelling Correction  拼写纠正 搜索引擎里的dictionary data通常存储着这些信息: 索引词(term vocabulary). 文档频率(document frequency,即这个词在多少个文档里出现). 指向倒排表的指针(pointers to each postings list ). 那么,他是怎样的一个数据结构呢? 一种非常naive