中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

設(shè)計本網(wǎng)站圖片大全關(guān)鍵詞搜索工具app

設(shè)計本網(wǎng)站圖片大全,關(guān)鍵詞搜索工具app,網(wǎng)站后綴com,四川教育公共信息服務(wù)平臺給你一個字符串 s ,請你反轉(zhuǎn)字符串中 單詞 的順序。 單詞 是由非空格字符組成的字符串。s 中使用至少一個空格將字符串中的 單詞 分隔開。 返回 單詞 順序顛倒且 單詞 之間用單個空格連接的結(jié)果字符串。 注意:輸入字符串 s中可能會存在前導(dǎo)空格、尾隨空格…

給你一個字符串?s?,請你反轉(zhuǎn)字符串中?單詞?的順序。

單詞?是由非空格字符組成的字符串。s?中使用至少一個空格將字符串中的?單詞?分隔開。

返回?單詞?順序顛倒且?單詞?之間用單個空格連接的結(jié)果字符串。

注意:輸入字符串?s中可能會存在前導(dǎo)空格、尾隨空格或者單詞間的多個空格。返回的結(jié)果字符串中,單詞間應(yīng)當(dāng)僅用單個空格分隔,且不包含任何額外的空格。

輸入:s = "the sky is blue"
輸出:
"blue is sky the"

? ? ? ?看到圖片中的操作,我覺得我們的第一印象應(yīng)該是先用Stirng()中的方法tirm()將字符串兩邊的空白字符給去掉,然后再用toCharArray()方法將字符轉(zhuǎn)換為char數(shù)組,然后再倒敘遍歷數(shù)組填充到一個新的字符串中去,這道題就結(jié)束了,可是真的是這樣么?

public String reverseWords(String s) {if(s.length()==0){return "";}//去掉兩邊的空格s=s.trim();//trim函數(shù)需要返回一個新的字符串,這里千萬別忘記//根據(jù)“”進(jìn)行分割String[] str=s.split(" ");String s1="";for (int i = str.length-1; i>=0; i--) {if(i==0){s1+=str[i];}else{s1+=str[i]+" ";}}s1=s1.trim();return s1;}

? ? ? ?原來這個題目中測試案例字符串中中間間隔的不一定只有一個空字符串,甚至有多個空字符串,所以我們就要對正則表達(dá)式中的規(guī)則進(jìn)行一點改變

String[] str=s.split("\\s+");//匹配多個空白字符

?過程是痛苦的但是結(jié)局確實好的

接下來給大家介紹一種比較高效的方法解決本題(雙指針)

? ? ? ?這時候有很多人就會要問了?如果遍歷字符串的話,每個指針只能指向一個字符,反轉(zhuǎn)的話只能使一個字符進(jìn)行翻轉(zhuǎn),怎么樣才可以做到對整個單詞進(jìn)行翻轉(zhuǎn)呢?一個指針當(dāng)然只可以指向一個字符了,但是兩個指針就可以確定一個單詞,我們可以尋找空格的位置去確定我們單詞的位置

?我們做的前提得是兩邊沒有空格的字符串,所以我們首先用String類中的trim()函數(shù)進(jìn)行去除

 //去掉兩邊的空格String s1=s.trim();

在操作字符串的時候,我們經(jīng)常將String類型轉(zhuǎn)換為StringBuilder類型進(jìn)行字符串的操作

StringBuilder res=new StringBuilder();

? ? ? ?因為我們需要進(jìn)行對原字符串進(jìn)行反轉(zhuǎn),干脆我們一開始就從最后面開始,這樣可以省去一次翻轉(zhuǎn)的時間

int i=s1.length()-1;
int j=i;
while(i>=0){...}

因為我們的字符串兩邊沒有空格,所以我們依靠中間兩個單詞之間的空格來確定單詞的界限

while(i>=0&&s1.charAt(i)!=' '){i--;}

? ? ? ?因為我們要將這個字符串截取出來,將其加入到StringBuilder中,substring(start,end)函數(shù),是一個左閉右開的取值范圍

res.append(s1.substring(i+1,j+1)+" ");

如果兩個單詞間隔許多空格的話,我們需要跳過這些空格,去尋找下一個單詞的末尾字符

 while(i>=0&&s1.charAt(i)==' '){i--;}

同步j(luò)指針,說明找到了一個新的單詞,重復(fù)上面的步驟

j=i;

?源代碼如下:

 public String reverseWords(String s) {if(s.length()==0){return "";}//去掉兩邊的空格String s1=s.trim();StringBuilder res=new StringBuilder();int i=s1.length()-1;int j=i;while(i>=0){while(i>=0&&s1.charAt(i)!=' ')i--;res.append(s1.substring(i+1,j+1)+" ");while(i>=0&&s1.charAt(i)==' ')i--;j=i;}return res.toString().trim();}

http://www.risenshineclean.com/news/50365.html

相關(guān)文章:

  • 網(wǎng)站建設(shè) 講話新聞軟文發(fā)稿平臺
  • 營銷型網(wǎng)站建設(shè)的利與弊推廣哪個app最掙錢
  • 公司網(wǎng)站的制作公司網(wǎng)站提交收錄軟件
  • 友匯網(wǎng) 做公司網(wǎng)站如何利用網(wǎng)絡(luò)進(jìn)行推廣和宣傳
  • 網(wǎng)站首頁導(dǎo)航怎么做二級導(dǎo)航太原網(wǎng)站建設(shè)方案優(yōu)化
  • 網(wǎng)站建設(shè)和域名備案注冊推廣賺錢一個80元
  • 重慶所有做網(wǎng)站的公司排名海外seo
  • 家庭電腦做網(wǎng)站班級優(yōu)化大師免費下載安裝
  • 大連專業(yè)網(wǎng)站設(shè)計服務(wù)商合肥關(guān)鍵詞排名
  • 做的網(wǎng)站每年需要續(xù)費重慶seo全網(wǎng)營銷
  • 一件代發(fā)應(yīng)該在哪個網(wǎng)站上做典型十大優(yōu)秀網(wǎng)絡(luò)營銷案例
  • 什么軟件可以做dj視頻網(wǎng)站推廣優(yōu)化網(wǎng)站排名教程
  • 鄭州大型網(wǎng)站建設(shè)谷歌seo服務(wù)商
  • wordpress docker中文文檔seo搜索引擎優(yōu)化視頻
  • 網(wǎng)站設(shè)計與編輯網(wǎng)站推廣的技術(shù)有哪些
  • php中英文企業(yè)網(wǎng)站浙江搜索引擎優(yōu)化
  • 山東免費網(wǎng)站制作seo標(biāo)題優(yōu)化是什么意思
  • 有效果的網(wǎng)站排名網(wǎng)絡(luò)營銷學(xué)校
  • 自己網(wǎng)站的登錄api怎么做上海今日頭條新聞
  • 廊坊電商網(wǎng)站建設(shè)推廣關(guān)鍵詞排名
  • 網(wǎng)站建設(shè)對企業(yè)的意義淘寶推廣哪種方式最好
  • wordpress會員查看發(fā)布插件上海網(wǎng)站快速排名優(yōu)化
  • 大學(xué)科研項目做網(wǎng)站常州seo收費
  • 在網(wǎng)站里文本鏈接怎么做關(guān)鍵詞com
  • 網(wǎng)站開發(fā)階段怎么做測試網(wǎng)絡(luò)培訓(xùn)
  • 做的好的淘寶客網(wǎng)站營銷策劃思路
  • 北京商城網(wǎng)站建設(shè)國內(nèi)設(shè)計公司前十名
  • 網(wǎng)站建設(shè)技術(shù)服務(wù)合同營銷網(wǎng)站建設(shè)專家
  • 相親網(wǎng)站做期貨現(xiàn)貨貴金屬的人開車搜索關(guān)鍵詞
  • 寧波網(wǎng)站建設(shè)多少錢一個搜索排名廣告營銷