牛客网--单词倒排(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,非字母字符视为空格。发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2026年06月14日 11时29分16秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
php之aop实践
2023-03-01
PHP之APC缓存详细介绍(转)
2023-03-01
php之memcache,memcached
2023-03-01
php之引用
2023-03-01
PHP之数组和函数的基本教程
2023-03-01
UVa 10465 - Homer Simpson
2023-03-01
php九九乘法表加粗,PHP九九乘法表
2023-03-01
PHP二维数组将重复键值合并重组成三维数组
2023-03-01
PHP二维数组转换为一维数组
2023-03-01
PHP二维数组重组
2023-03-01
PHP交换两个变量值
2023-03-01
php代码执行完整流程介绍
2023-03-01
PHP代码格式化工具phpcf常见问题解决方案
2023-03-01
PHP使用3DES算法加密解密字符串
2023-03-01
php使用memcached扩展的一个BUG
2023-03-01
PHP内核介绍及扩展开发指南—基础知识
2023-03-01
PHP写日志fwrite和file_put_contents的区别与性能
2023-03-01
PHP函数
2023-03-01
PHP函数__autoload失效原因(与smarty有关)
2023-03-01