好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 利用golang的字符串解決leetcode翻轉(zhuǎn)字符串里的單詞

利用golang的字符串解決leetcode翻轉(zhuǎn)字符串里的單詞

熱門標(biāo)簽:仙桃400電話辦理 上海極信防封電銷卡價(jià)格 鄭州智能語音電銷機(jī)器人價(jià)格 宿遷便宜外呼系統(tǒng)代理商 地圖標(biāo)注免費(fèi)定制店 不封卡外呼系統(tǒng) 重慶慶云企業(yè)400電話到哪申請 湛江crm外呼系統(tǒng)排名 寧波語音外呼系統(tǒng)公司

題目

給定一個字符串,逐個翻轉(zhuǎn)字符串中的每個單詞。

示例 1:

輸入: "the sky is blue"

輸出: "blue is sky the"

示例 2:

輸入: " hello world! "

輸出: "world! hello"

解釋: 輸入字符串可以在前面或者后面包含多余的空格,但是反轉(zhuǎn)后的字符不能包括。

示例 3:

輸入: "a good example"

輸出: "example good a"

解釋: 如果兩個單詞間有多余的空格,將反轉(zhuǎn)后單詞間的空格減少到只含一個。

說明:

無空格字符構(gòu)成一個單詞。

輸入字符串可以在前面或者后面包含多余的空格,但是反轉(zhuǎn)后的字符不能包括。

如果兩個單詞間有多余的空格,將反轉(zhuǎn)后單詞間的空格減少到只含一個。

解法一

全部使用golang的strings包里的方法來解題。

func reverseWords(s string) string {
 var reverseSeg []string
 //獲取去除空格后的單詞數(shù)組
 seg := strings.Fields(s)
 //翻轉(zhuǎn)單詞數(shù)組
 for i := len(seg)-1;i>=0;i-- {
  reverseSeg = append(reverseSeg,seg[i])
 }
 //數(shù)組-》由空格間隔的字符串
 return strings.Join(reverseSeg," ")
}

解法二

func reverseWords(s string) string {
 var result string
 //獲取去除空格后的單詞數(shù)組
 str := strings.Split(s," ")
 //倒序組裝單詞和空格
 for i:=len(str)-1;i>=0;i-- {
  if len(str[i])==0 {
   continue
  }
  result += str[i]+" "
 }
 if len(result)==0 {
  return ""
 }
 return result[:len(result)-1]
}

解法三

func reverseWords(s string) string {
 sL := strings.Split(s, " ")
 c := len(sL)
 n := 0//表示實(shí)際有效單詞的長度
 i := 0//數(shù)組長度
 for {
 if i >= c {
 break
 }
 if sL[i] == "" {
 i++
 continue
 } else {
 //將有效單詞前移
 sL[n], sL[i] = sL[i], sL[n]
 n++
 i++
 }
 }
 //翻轉(zhuǎn)有效單詞
 for i := 0; i  n/2; i++ {
 sL[i], sL[n-i-1] = sL[n-i-1], sL[i]
 }
 //返回由空格間隔的有效單詞字符串
 return strings.Join(sL[:n], " ")
}

總結(jié)

熟練掌握golang的strings包自帶函數(shù)

leetcode題解中還有一個雙百的go解法,必須極其了解golang語言才能理解,所以再接再厲。

補(bǔ)充:Golang 翻轉(zhuǎn)含有中文、數(shù)字、英文字母的字符串

rune表示:

package main

import "fmt"

func main() {

 src := "你好啊,XXX啊啊啊啊"
 dst := reverse([]rune(src))
 fmt.Println("result is:",string(dst))
}

func reverse(s []rune) []rune {
 for i,j :=0,len(s)-1;ij;i,j = i+1,j-1{
 s[i],s[j] = s[j],s[i]
 }
 return s
}

結(jié)果如下:

byte表示:

package main

import "fmt"

func main() {

 src := "你好啊,XXX啊啊啊啊"
 dst := reverse([]byte(src))
 fmt.Println("result is:",string(dst))
}

func reverse(s []byte) []byte {
 for i,j :=0,len(s)-1;ij;i,j = i+1,j-1{
 s[i],s[j] = s[j],s[i]
 }
 return s
}

結(jié)果如下,亂碼了

總結(jié):

rune(-2^31 ~ 2^31-1)是int32的別名,比起byte(-128~127),rune可表示的范圍更大,所以能處理一切字符,當(dāng)然也包括中文字符。

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • LeetCode -- Path Sum III分析及實(shí)現(xiàn)方法
  • 基于Java實(shí)現(xiàn)楊輝三角 LeetCode Pascal''s Triangle
  • vscode刷acm、leetcode的題目
  • 如何用C++制作LeetCode刷題小技巧-錯題記錄本
  • Java實(shí)現(xiàn)LeetCode(報(bào)數(shù))

標(biāo)簽:電子產(chǎn)品 海南 青海 遼寧 安康 西雙版納 物業(yè)服務(wù) 儋州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《利用golang的字符串解決leetcode翻轉(zhuǎn)字符串里的單詞》,本文關(guān)鍵詞  利用,golang,的,字符串,解決,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《利用golang的字符串解決leetcode翻轉(zhuǎn)字符串里的單詞》相關(guān)的同類信息!
  • 本頁收集關(guān)于利用golang的字符串解決leetcode翻轉(zhuǎn)字符串里的單詞的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 久久久久久精品国产三级| 日本欧美国产| 色七影院| 色欲日本无码av少妇快色下载| 欲望爱人完整版| freexx性欧美另类hd| 色视频日本| 97亚洲一线产区和二线产区| 国产精品爽爽va免费观看| 我趁老师睡觉偷偷的脱她内裤| 别c我了~C烂了~啊~动漫| 国语对白色少妇HD| 美女被吸乳视频视频| 日韩理论在线| 久久精品人人做人人爱爱电视剧 | japanese日本tube护士| 欧美精品三级AV在线观看网址 | 亚洲大尺度在线观看| 欧美精品v国产精品v日韩精品| 一区二区三区产品乱码的解决方法 | 免费看一级一级人妻片| 粉嫩小馒头12p| 免费一级欧美大片app| 国产精品1024永久观看| 日本阿v片在线播放免费无码| 99riAv1国产精品视频| 国产激情一区二区三区四区| 国产黄色小视频在线观看| 丝袜美腿美女被狂躁长视频,| 呱呱吃瓜爆料黑料网曝门黑料| 天天操夜夜操天天操| 免费观看一级毛片| 羞羞色| 强辱护士人妻HD高清日韩片| 青草午夜精品视频在线观看| 伊人青青| 男女后进式猛烈XXOO120| 女百合三级HD电影| avtt在线播放| 国产精品久久久久免费视频| 嗯啊开小嫩苞hhh嗯啊网站|