題目連結:
題目意譯:
給定一個字串 S ,回傳「反轉」後的字串,其中不是字母的停留於原地,而將其他是字母的反轉它們的位置。
注:
S.length ≦ 100
33 ≦ S[i].ASCIIcode ≦ 122
S 不包含 \ 或 "
範例測資:
範例 1:
輸入: "ab-cd"
輸出: "dc-ba"
範例 2:
輸入: "a-bC-dEf-ghIj"
輸出: "j-Ih-gfE-dCba"
範例 3:
輸入: "Test1ng-Leet=code-Q!"
輸出: "Qedo1ct-eeLg=ntse-T!"
解題思維:
有點像
這題,該題是判斷給定的字串是否為迴文,且同樣也是忽略非英文字母(不過該題數字也算作迴文的範圍內,而本題不是)。
而我們也可以同樣使用兩個指標 L 、 R ,前者指向 S 的開頭、後者指向 S 的結尾。
然後每次就是讓 L 一直往結尾跑直到遇見第一個是英文字母之字元、 R 也類似地往開頭一直跑直到遇到第一個是英文字母字元,然後將 L 、 R 兩者指到的字元交換,重複此步驟直到 L ≧ R。
而此時 S 的內容即為所求。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。