瓜子18年秋招筆試題 單詞逆序
阿新 • • 發佈:2018-10-31
對於一個字串,設計一個演算法,只在字串的單詞間做逆序調整,也就是說,字串有一些空格分隔符的部分組成,你需要將這些部分逆序。
給定一個原字串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(" "); } } } }