02-句子倒置

今天參加某所的筆試,剛踩的坑,雖然測試樣例過了,能想到的幾種情況也有測試能通過,但總感覺還是有遺漏的情況沒考慮到。

題目

倒置句子,標點符號不倒置,倒置之後句子的標點不變位置,輸出時候以空格分隔。

樣例
輸入: I like China.
輸出:China. like I

思路

1.字符串長度爲 0,不是合法的輸入,直接return;
2.字符串長度不爲0, 合法輸入,用split(" ") 分割字符串,這個時候也許會存在一種不合法的輸入情況,輸入一個或者多個空格,個人認爲這也是不合法的輸入,所以在正常倒置步驟之前把這個情況也單獨拿出來處理了;
3.正常的輸入,將分割得到的字符串數組逆序輸出即可。

代碼

import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in = new Scanner(System.in);
		String str = in.nextLine();
		//System.out.println(str.length());
		if (str.length() == 0) {       // 字符串長度爲0的時候,無意義
			return; 
		} else {    // 字符串長度
			String[] item = str.split(" ");

			int len = item.length;
			System.out.println(len);
			if (len == 0){	// 輸入的字符串裏只有空格,沒有句子
				return;
			}
			System.out.print(item[len - 1]);
			for (int i = len - 2; i >= 0; i--) {
				System.out.print(" " + item[i]);
			}
		}
	}
}

對這個題用這種思路解答是否正確並不敢確定,也許會有漏解的情況,歡迎各位大佬批評指正!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章