牛客网--单词倒排(Java)
发布日期:2021-04-30 21:03:24 浏览次数:83 分类:精选文章

本文共 1251 字,大约阅读时间需要 4 分钟。

字符串倒排问题

问题描述

任务要求对输入字符串中的所有单词进行倒排。每个单词由26个大写或小写英文字母构成,非单词字符视为间隔符,倒排后的间隔符应为一个空格。若原字符串中相邻单词间有多个间隔符,转换后也应只显示一个空格。每个单词长度不超过20个字母。

输入描述

输入为一行由空格分隔的句子。

输出描述

输出倒排后的句子。

示例

输入I am a student

输出student a am I

代码解析

import java.util.*;public class Main {    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);        String x = sc.nextLine();        StringBuffer a = new StringBuffer();                for (int i = 0; i < x.length(); i++) {            if ((x.charAt(i) >= 'a' && x.charAt(i) <= 'z') ||                (x.charAt(i) >= 'A' && x.charAt(i) <= 'Z')) {                a.append(x.charAt(i));            } else {                a.append(" ");            }        }        x = a.toString();        String[] arr = x.trim().split(" ");        StringBuffer sb = new StringBuffer();                for (int i = arr.length - 1; i >= 1; i--) {            if (!arr[i].equals(" ")) {                sb.append(arr[i]);                sb.append(" ");            }        }        if (!arr[0].equals(" ")) {            sb.append(arr[0]);        }        System.out.println(sb.toString());    }}

功能说明

  • 读取输入:使用Scanner读取输入字符串。
  • 处理字符:遍历字符串,将字母字符添加到StringBuffer,非字母字符视为空格。
  • 提取单词:将处理后的字符串去空格后分割为单词数组。
  • 倒排单词:从最后单词开始倒序拼接,单词间保留空格。
  • 输出结果:打印倒排后的字符串。
  • 上一篇:最全RabbitMQ教程2-快速上手
    下一篇:牛客网--密码验证合格程序(Java)

    发表评论

    最新留言

    留言是一种美德,欢迎回访!
    [***.207.175.100]2026年06月14日 11时29分16秒