OJ_單詞倒排
阿新 • • 發佈:2017-08-10
連接線 a-z int 字符串 erl ngs ron rgs system
題目描述:對字符串中的所有單詞進行倒排。
說明:
1、每個單詞是以26個大寫或小寫英文字母構成,可以用一個“-”中連接線連接單詞兩部分表示一個單詞,但是僅限一個“-”,出現兩個“--”則為非構成單詞的字符;
2、非構成單詞的字符均視為單詞間隔符;
3、要求倒排後的單詞間隔符以一個空格表示;如果原字符串中相鄰單詞間有多個間隔符時,倒排轉換後也只允許出現一個空格間隔符;
4、每個單詞最長20個字母;
5、輸出字符串,否則輸出-1。
樣例輸入:
i*&* am--a good-student
樣例輸出:
good-student a am i
代碼示例:
public class WordReverseOrder {public static void main(String[] args) { String string = "i*&*am--a good-student"; String express = "(?!(?<=[a-zA-Z]+)-(?=[a-zA-Z]+))[^a-zA-Z]+"; String[] strings = string.split(express); if (strings.length == 0) { System.out.println("-1"); }else{ boolean overLength = false; StringBuffer stringBuffer = new StringBuffer(); for (int i = strings.length - 1; i >= 0; i--) { if (strings[i].length() > 20) { overLength = true; break; }if (!"".equals(strings[i].trim())) { stringBuffer.append(strings[i] + " "); } } if (overLength || stringBuffer == null) { System.out.println("-1"); } else { System.out.println(stringBuffer.toString().trim()); } } } }
OJ_單詞倒排