博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
句子逆序
阅读量:7164 次
发布时间:2019-06-29

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

hot3.png

题目描述

将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符

输入描述

将一个英文语句以单词为单位逆序排放。

输出描述

得到逆序的句子

输入例子

I am a boy

输出例子

boy a am I

算法实现

import java.util.Scanner;/** * All Rights Reserved !!! */public class Main {    public static void main(String[] args) {        Scanner scanner = new Scanner(System.in);        while (scanner.hasNext()) {            String input  = scanner.nextLine();            System.out.println(reverseSentence(input));        }        scanner.close();    }    private static String reverseSentence(String str) {        char[] chars = str.toCharArray();        // 翻转整个句子        reverse(chars, 0, chars.length - 1);        for (int i = 0, j; i < chars.length;  i = j + 1) {            // 找从i位置开始后的第一个非空白字符            while (i < chars.length && chars[i] ==' ' ) {                i++;            }            j = i + 1;            // 找i位置之后的第一个空白字符            while (j < chars.length && chars[j] != ' ') {                j++;            }            reverse(chars, i, j - 1);        }        return new String(chars);    }    /**     * 字符数组翻转     * @param str     * @param start     * @param end     */    private static void reverse(char[] str, int start, int end) {        char tmp;        while (start < end) {            tmp = str[start];            str[start] = str[end];            str[end] = tmp;            start++;            end--;        }    }}

转载于:https://my.oschina.net/u/2822116/blog/815927

你可能感兴趣的文章
在.net中使用GAC
查看>>
EasyExcel导入工具(SpringMVC下使用)
查看>>
【转载】查找怪数据数组的内存分布和地址(天龙八部)
查看>>
敏捷生活练习第14次活动:学会感恩
查看>>
Windows Azure Cloud Service (15) 多个VM Instance场景下如何处理ASP.NET Session
查看>>
Android学习笔记(7)————Android中的消息机制
查看>>
重装系统后,硬盘分区丢失的解决办法
查看>>
玩转轻巧型C/C++ IDE之C-Free(配置GCC、Visual C++、Borland C++编译器)
查看>>
利用Delphi编写IE扩展
查看>>
邮箱里边添加自己的网站首页
查看>>
zdnet网站上关注MS技术的记者Foley
查看>>
Enterprise Library 4.1发布新版
查看>>
QTP11的那些事---完整破解方法最终版(测试通过可用)
查看>>
c# winform编程之多线程ui界面资源修改总结篇
查看>>
Automation prepare steps
查看>>
什么是.NET应用程序域
查看>>
exec函数族的学习
查看>>
【高级】C++中虚函数机制的实现原理
查看>>
VS2005智能设备项目的Bug:"The OutputPath property is not set for this project..."
查看>>
2009编程语言排名
查看>>