1. 程式人生 > >瓜子18年秋招筆試題 單詞逆序

瓜子18年秋招筆試題 單詞逆序

對於一個字串,設計一個演算法,只在字串的單詞間做逆序調整,也就是說,字串有一些空格分隔符的部分組成,你需要將這些部分逆序。
給定一個原字串A,請返回逆序後的字串。
例,輸入:I am a boy!。輸出: boy! a am I
輸入描述:輸入一行字串str。(1<=strlen(str)<=10000)
輸出描述:返回你洗後的字串。
示例:
輸入: It’s a dog!
輸出:dog! a It’s

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc=new Scanner(System.in);
		String str=sc.nextLine();//輸入字串
		String str1[]=str.split(" ");//將空格隔開的單詞儲存為陣列形式
		String str2[]=new String[str1.length];//
		for(int i=str1.length-1;i>=0;i--){//對單詞陣列進行逆序,存放到str2中
			str2[str1.length-1-i]=str1[i];
			
		}
		for(int i=str2.length-1;i>=0;i--){//從後向前遍歷陣列str2
			if(str2[i].contains("'")){//如果單詞中包含“'”,將此單詞與前一個數組的單詞交換位置,然後i--
				String temp=str2[i];
				str2[i]=str2[i-1];
				str2[i-1]=temp;
				i--;
			}
		}
		for(int i=0;i<str2.length;i++){
			System.out.print(str2[i]);
			if(i<=str2.length-2 & i>=0){
				System.out.print(" ");
			}
		}

	}

}