題目:
給定乙個字串 s,返回 「反轉後的」 字串,其中不是字母的字元都保留在原地,而所有字母的位置發生反轉。
示例 :
輸入:「a-bc-def-ghij」
輸出:「j-ih-gfe-dcba」
class
solution
string reverseonlyletters
(string s)
left++;}
while
(isletter
(s[right])==
0)swap
(s[left]
, s[right]);
}return s;}}
;
題解:函式isletter是判斷該字元是不是字母,用雙指標思想,若左指標或右指標不是字元則左指標自加或右指標自減,直到遇見字母,再進行交換左右指標指向的字母,還存在乙個特殊情況:字串中全不是字母,則在左指標自加中需要判斷是否走到字串的最後乙個字元,若走到則直接返回原字串。 僅僅反轉字母
簡單 class solution def reverseonlyletters self,s param s str return str s list s s alpha i for i in s if i.isalpha reversed alpha list reversed s alpha...
僅僅反轉字母
給定乙個字串 s,返回 反轉後的 字串,其中不是字母的字元都保留在原地,而所有字母的位置發生反轉。示例 1 輸入 ab cd 輸出 dc ba 示例 2 輸入 a bc def ghij 輸出 j ih gfe dcba 示例 3 輸入 test1ng leet code q 輸出 qedo1ct ...
僅僅反轉字母
題目 給定乙個字串 s,返回 反轉後的 字串,其中不是字母的字元都保留在原地,而所有字母的位置發生反轉。方法一 雙指標遍歷字串陣列,不是字母,指標移動,當兩個指標指向都為字母時,就交換兩個字母。class solution elseif character.isletter a right else...