zoukankan      html  css  js  c++  java
  • 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]);
            }
    
        }
    
    }
  • 相关阅读:
    线段的类
    计算三角形的类
    关于狗的类
    [poj2234] Matches Game
    bzoj[2655] calc
    拉格朗日插值和牛顿插值 菜鸟教程
    NOI模拟赛(3.15) sequence(序列)
    NOI模拟赛(3.13)Hike (远行)
    二分图讲解
    NOI模拟赛(3.8)Problem B
  • 原文地址:https://www.cnblogs.com/newcoder/p/5813766.html
Copyright © 2011-2022 走看看