牛客网--单词倒排(Java)
題目描述
對字符串中的所有單詞進行倒排。
說明:
1、每個單詞是以26個大寫或小寫英文字母構(gòu)成;
2、非構(gòu)成單詞的字符均視為單詞間隔符;
3、要求倒排后的單詞間隔符以一個空格表示;如果原字符串中相鄰單詞間有多個間隔符時,倒排轉(zhuǎn)換后也只允許出現(xiàn)一個空格間隔符;
4、每個單詞最長20個字母;
輸入描述:
輸入一行以空格來分隔的句子
輸出描述:
輸出句子的逆序
示例1
輸入
復(fù)制
I am a student輸出
復(fù)制
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());
}
}
總結(jié)
以上是生活随笔為你收集整理的牛客网--单词倒排(Java)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Leetcode--144. 二叉树的前
- 下一篇: 如何理解在数据类型中元素不能修改?