刷題中 單詞倒排

2021-10-05 12:34:25 字數 1994 閱讀 1684

對字串中的所有單詞進行倒排

輸入一行以空格來分隔的句子

說明:輸出句子的逆序

edqwa3 4h$ km;k
k km h edqwa
方法一
/* 思路:

* 1.獲取單詞,以非字母字元分割

* 2.倒序遍歷,存入新字串中

* * 占用記憶體:9436k

*/public

static

voidm1(

)throws ioexception )

for(

int i=sarr.length-

1;i>=

0;i--

) system.out.

println

(br.

tostring()

.trim()

);}

方法二
/* 思路:

* 1.獲取單詞,將非字母字元替換為空格

* 2.以空格分割字串存入陣列

* 3.倒序遍歷,將不為空的字元存入新字串中

* * 占用記憶體:9448k

*/public

static

voidm2(

)throws ioexception

else}

string[

] sarr=sb.

tostring()

.trim()

.split

("\\s+");

stringbuffer sb2=

newstringbuffer()

;for

(int j=sarr.length-

1;j>=

0;j--)if

(j>0)

} system.out.

println

(sb2.

tostring()

);}

正規表示式

\s-> 匹配任何1個空白字元(包括空格、製表符、換頁符……等價於->\f\n\r\t\v

\f-> 匹配 1 個換頁符

\n-> 匹配 1 個換行符

\r-> 匹配 1 個回車符

\t-> 匹配 1 個製表符

\v-> 匹配 1 個垂直製表符

+-> 匹配 1 個或多個()

-> 匹配 0 個或 1 個()

\-> 轉義

\s+-> 匹配任意多個上面的字元

[^a-za-z]-> 匹配 1 個非字母

[^a-za-z]+-> 匹配 1 個或多個非字母

^[a-za-z]-> 匹配 1 個大小寫字母

^[a-za-z]+-> 匹配 1 個或多個大小寫字母

(c>=『a』 && c<=『z』)||(c>=『a』 && c<=『z』)等價於character.islowercase(c)||character.isuppercase(c)->判斷是否為大小寫字母

\d-> 匹配 1 個數字(判斷是否為數字 ->character.isdigit()

-?\d+-> 匹配任意個正負數

scanner和bufferedreader相同

不同 努力做個總結

.當進行大量讀入操作,或者輸入的內容中間包括空格時,可以考慮使用bufferedreader類取得輸入(scanner對空格比較敏感)

程式設計題 中級 單詞倒排

程式設計題 中級 單詞倒排 對字串中的所有單詞進行倒排。說明 1 每個單詞是以26個大寫或小寫英文本母構成 2 非構成單詞的字元均視為單詞間隔符 3 要求倒排後的單詞間隔符以乙個空格表示 如果原字串中相鄰單詞間有多個間隔符時,倒排轉換後也只允許出現乙個空格間隔符 4 每個單詞最長20個字母 輸入描述...

華為 單詞倒排

對字串中的所有單詞進行倒排。說明 1 每個單詞是以26個大寫或小寫英文本母構成 2 非構成單詞的字元均視為單詞間隔符 3 要求倒排後的單詞間隔符以乙個空格表示 如果原字串中相鄰單詞間有多個間隔符時,倒排轉換後也只允許出現乙個空格間隔符 4 每個單詞最長20個字母 輸入一行以空格來分隔的句子輸出句子的...

28 單詞倒排

總時間限制 1000ms 記憶體限制 65536kb 描述編寫程式,讀入一行英文 只包含字母和空格,單詞間以單個空格分隔 將所有單詞的順序倒排並輸出,依然以單個空格分隔。輸入輸入為乙個字串 字串長度至多為100 輸出輸出為按要求排序後的字串。樣例輸入 i am a student 樣例輸出 stud...