2000. Reverse Prefix of Word (反轉單詞前綴)

更新於 2024/05/09閱讀時間約 2 分鐘


英文版點我中文版點我


↑看個小廣告,支持好內容↑



從題意可以了解:不論 ch 出現多少遍,要反轉的都是它首次出現前的那些字母,顯然第一次出現的位置就很關鍵了。


❶ indexOf

拆成兩個任務來辦,首先找出第一次發現 ch 的位置,再針對範圍去做 reverse:

1. index=word.indexOf(ch)

2. 判斷是否需反轉
 - 當 i<=index:res=word[i​]+res (要反轉,從頭寫入)
 - 當 i> index:res=res+word[i] (不反轉,從尾寫入)


別忘了,這是建立在有找到 ch 的狀況下。如果都沒有出現,要輸出原字串,可別傻傻把整個字串反轉了。


+reverse()

可能有的人會想到 reverse,但那個是陣列的方法,要用的話得轉型別:

// 反轉 word[0]~word[index]​
word.substr(0, index+1).split("").reverse().join("")


❷ Flag

上述的解法要說美中不足,就是 indexOf 會多遍歷一次陣列 O(2n),能不能只跑一次就完成反轉呢?

我們可以設立一個 Flag 標示是否已找到 ch,依此來決定反轉字元與否。要是到最後都還沒找到,這個標記也能提醒我們該輸出原字串:

var reversePrefix = function(word, ch) {
let find=false;
let res="";

for(let i=0; i<word.length; i++){
if(!find){
res=word[i]+res;
if(word[i]==ch){find=true};
}else{
res=res+word[i];
}
}
// 如果還沒找到,就輸出原字串
return !find? word: res;
};



  • 本題分類標籤:Two PointersString
  • 本題正解率=86.1%

❤️ 若內容對你實用,歡迎追蹤本專題,或小額贊助支持~
⭐ 這是我的第 23 篇刷題筆記,完整解題索引看這裡 → Here


avatar-img
54會員
59內容數
我要成為 LeetCode 王!快跟我一起踏上旅程!
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
LeetCode King 的其他內容
千萬不要傻傻乘開啦,這題有好幾種優雅的做法~
索引很好用,但一定要做索引才能解決計數問題嗎?超車對手的機會來了!
這道題你一定會解,但你知道怎麼把迴圈改寫成「迭代」嗎?這招學起來!
一串數字能夠組成等差數列嗎?有沒有不排列就能判斷的方法?
千萬不要傻傻乘開啦,這題有好幾種優雅的做法~
索引很好用,但一定要做索引才能解決計數問題嗎?超車對手的機會來了!
這道題你一定會解,但你知道怎麼把迴圈改寫成「迭代」嗎?這招學起來!
一串數字能夠組成等差數列嗎?有沒有不排列就能判斷的方法?
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
可喜可賀! 我的vocus沙龍『照夜白的世界』, 已經達成2000+會員!! 謝謝大家!! 畫一張八娖的桌布免費送給大家!!!
Thumbnail
義大利考古單位最近公佈了新發現的壁畫,位於龐貝古城「麗達之家」(House of Leda)裡的一幅古希臘神話主題壁畫...
Thumbnail
Hi there,一年一度的西洋樂壇大事 Super Bowl (超級盃)中場秀在這星期一登場了!今年的表演嘉賓是 R&B 天王 Usher,這是他第二次登上中場秀的舞台,不同的是這次他是主要表演歌手、而非和其他人共同演出。這次在演出登場之前其實有些關於 Usher 的輿論,主要就是覺得他在
Thumbnail
過年期間最熱門刮刮樂「2000萬超級紅包」目前的頭獎剩幾個?2000元刮刮樂有哪些獎項?中獎機率高嗎?本文將為您解答所有相關問題!
Thumbnail
大家有沒有覺得2023過的很快?又要準備過年啦!過年期間大家最喜歡的娛樂活動就是「刮刮樂」了吧!每年最期待的2000元刮刮樂「2000萬超級紅包」頭獎在2024年又破紀錄拉!
Thumbnail
以下是五宗歷史上的恐怖襲擊事件,每宗事件都有其獨特的背景和影響: 911恐怖襲擊(2001年,美國),2001年9月11日,恐怖分子劫持了四架民用飛機,其中兩架撞擊了世界貿易中心的雙子塔,一架撞擊了五角大樓,另一架在賓夕法尼亞州墜毀。這次恐怖襲擊導致近3000人死亡,成為歷史上最嚴重的恐怖襲擊
0214(嘉義) 大霧,像千禧年的第一天。 稽核的謝大哥是台北工專(電機科)的學長,他說他是狀元入學和第一名畢業,是三家公司的老闆,以及有上億的財產。他再三叮嚀我,不要把他這次交付給我的秘密任務外洩,但是我發現他已經和不少的人提起,也同樣要求對方保密。 一位名字很奇怪的中年男子在聯合晚報上刊登
Thumbnail
這四天三夜的行程是期待好久了的,不過出發前那陣子工作真多,為了安心上山,卯足全力處理。還有一個只能聽天由命的杜蘇芮颱風,尚未成颱前的各家預報就極其混亂,但綜合來看,我們的期程應在安全範圍內。於是,如期出發!我的隊友特別換了張2000元大鈔帶上。 我們這團的運作方式是按個
Thumbnail
結論:若無巴菲特利多攪局多墊了800點 基本上轉折點日期如出一轍
Thumbnail
2022/06/27 【今日交易】 今天是大反彈日,雖然是大反彈日但是我做多也沒賺到, 元宇宙三兄弟真的凶狠, 航運算是學習的標的,一直在思考會怎麼反映這個除息, 接下來的長榮也會向陽明一樣這樣漲嗎? 當沖含退:-2000
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
可喜可賀! 我的vocus沙龍『照夜白的世界』, 已經達成2000+會員!! 謝謝大家!! 畫一張八娖的桌布免費送給大家!!!
Thumbnail
義大利考古單位最近公佈了新發現的壁畫,位於龐貝古城「麗達之家」(House of Leda)裡的一幅古希臘神話主題壁畫...
Thumbnail
Hi there,一年一度的西洋樂壇大事 Super Bowl (超級盃)中場秀在這星期一登場了!今年的表演嘉賓是 R&B 天王 Usher,這是他第二次登上中場秀的舞台,不同的是這次他是主要表演歌手、而非和其他人共同演出。這次在演出登場之前其實有些關於 Usher 的輿論,主要就是覺得他在
Thumbnail
過年期間最熱門刮刮樂「2000萬超級紅包」目前的頭獎剩幾個?2000元刮刮樂有哪些獎項?中獎機率高嗎?本文將為您解答所有相關問題!
Thumbnail
大家有沒有覺得2023過的很快?又要準備過年啦!過年期間大家最喜歡的娛樂活動就是「刮刮樂」了吧!每年最期待的2000元刮刮樂「2000萬超級紅包」頭獎在2024年又破紀錄拉!
Thumbnail
以下是五宗歷史上的恐怖襲擊事件,每宗事件都有其獨特的背景和影響: 911恐怖襲擊(2001年,美國),2001年9月11日,恐怖分子劫持了四架民用飛機,其中兩架撞擊了世界貿易中心的雙子塔,一架撞擊了五角大樓,另一架在賓夕法尼亞州墜毀。這次恐怖襲擊導致近3000人死亡,成為歷史上最嚴重的恐怖襲擊
0214(嘉義) 大霧,像千禧年的第一天。 稽核的謝大哥是台北工專(電機科)的學長,他說他是狀元入學和第一名畢業,是三家公司的老闆,以及有上億的財產。他再三叮嚀我,不要把他這次交付給我的秘密任務外洩,但是我發現他已經和不少的人提起,也同樣要求對方保密。 一位名字很奇怪的中年男子在聯合晚報上刊登
Thumbnail
這四天三夜的行程是期待好久了的,不過出發前那陣子工作真多,為了安心上山,卯足全力處理。還有一個只能聽天由命的杜蘇芮颱風,尚未成颱前的各家預報就極其混亂,但綜合來看,我們的期程應在安全範圍內。於是,如期出發!我的隊友特別換了張2000元大鈔帶上。 我們這團的運作方式是按個
Thumbnail
結論:若無巴菲特利多攪局多墊了800點 基本上轉折點日期如出一轍
Thumbnail
2022/06/27 【今日交易】 今天是大反彈日,雖然是大反彈日但是我做多也沒賺到, 元宇宙三兄弟真的凶狠, 航運算是學習的標的,一直在思考會怎麼反映這個除息, 接下來的長榮也會向陽明一樣這樣漲嗎? 當沖含退:-2000