首页 > 试题广场 >

英文句子单词翻转

[编程题]英文句子单词翻转
  • 热度指数:1786 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
原地翻转句子中单词的顺序,但单词内字符的顺序不变。要求:空间复杂度O(1),时间复杂度O(n)。

输入描述:
英文句子中单词以一个空格符隔开。为简单起见,标点符号和普通字母一样处理。


输出描述:
翻转之后的英文句子,单词内字符的顺序不变,以一个空格隔开。
示例1

输入

I am a student.

输出

student. a am I
import java.util.Scanner;
public class Main{
    public String retuenStr(String str){
        StringBuffer result = new StringBuffer();
        if("".equals(str) || null == str){
            return "";
        } else {
            String[] temp = str.split(" ");
            if(null != temp && temp.length > 0){
                for(int i = temp.length - 1; i >= 0 ; i--){
                    result.append(temp[i]).append(" ");
                }
            }
        }
        return result.toString().substring(0, result.toString().lastIndexOf(" "));
    }
    public static void main(String[] args){
        Main ts = new Main();
        Scanner sc = new Scanner(System.in);
        String input = sc.nextLine();
        String s = ts.retuenStr(input);
        System.out.println(s);
    }
}
发表于 2019-12-05 22:44:27 回复(0)