亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java如何刪除字符串中的所有相鄰重復項

發布時間:2022-03-17 10:01:20 來源:億速云 閱讀:244 作者:iii 欄目:大數據

這篇文章主要介紹了Java如何刪除字符串中的所有相鄰重復項的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Java如何刪除字符串中的所有相鄰重復項文章都會有所收獲,下面我們一起來看看吧。

算法:

棧一個比較常用的場景就是對字符串的操作,比如去重,退格,字符串表示的路徑等,操作往往比較簡單。

1.先把最為條件判斷的字符串入棧2.根據新到來的元素判斷要不要出棧3.最為比較的元素往往存在棧內,比較的時候,  有時候比較棧頂元素,有時候整個棧都要比較

題目1: 刪除字符串中的所有相鄰重復項

代碼實現:

func removeDuplicates(S string) string {    ss := []byte(S)    var stacks []byte    for i := 0; i< len(ss);i++ {        if len(stacks) != 0 {            j:= len(stacks)-1            if ss[i] == stacks[j]{ // 與棧頂元素相同的話,刪除棧內數據并且也不入棧                stacks = stacks[:j]                continue            }           }         stacks = append(stacks,ss[i])// 其他情況都入棧    }    return string(stacks)}/*棧的使用,先入棧,后面的元素與棧頂元素相同,出棧并且新元素不入棧。其他場景都入棧。*/

題目2: 比較含退格的字符串

代碼實現:

func backspaceCompare(S string, T string) bool {    s := getStack(S)    t := getStack(T)    return s == t}func getStack(S string) string {    ss := []byte(S)    var stacks []byte    for i:=0;i<len(ss);i++{        if ss[i] != '#' {            stacks = append(stacks,ss[i])        } else {            if len(stacks) > 0 { // 注意 ”#abc“這種#在最前面的情況                stacks = stacks[:len(stacks)-1]            }        }    }    return string(stacks)}

題目3:簡化路徑

代碼實現:

import "strings"func simplifyPath(path string) string {    tmps := strings.Split(path,"/")    var paths []string    for _,s:=range tmps {        if len(s) != 0{            paths = append(paths,s)         }    }    // fmt.Println("name",paths)    var stacks []string    for i:=0;i<len(paths);i++{
       if paths[i]==".." {            if len(stacks) > 0{                stacks=stacks[:len(stacks)-1]            }            continue        }        if paths[i]!="."{            stacks=append(stacks,paths[i])        }    }    // fmt.Println("name",stacks,len(stacks))    resStr :=""    for idx,s:=range stacks {        resStr += s        if idx != len(stacks)-1{            resStr += "/"        }      }
   return "/"+resStr}

關于“Java如何刪除字符串中的所有相鄰重復項”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Java如何刪除字符串中的所有相鄰重復項”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

卢龙县| 临清市| 哈巴河县| 绥江县| 祁门县| 连州市| 广东省| 隆昌县| 古蔺县| 大姚县| 汤原县| 宁晋县| 惠州市| 定远县| 天峻县| 襄城县| 崇信县| 保山市| 龙游县| 九龙坡区| 前郭尔| 潮安县| 葵青区| 东山县| 沅江市| 疏勒县| 嘉兴市| 咸宁市| 大足县| 冕宁县| 比如县| 永胜县| 莱芜市| 北辰区| 房山区| 左云县| 潜山县| 蛟河市| 墨江| 江达县| 常德市|