双指针算法 | 力扣344. 反转字符串
生活随笔
收集整理的這篇文章主要介紹了
双指针算法 | 力扣344. 反转字符串
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
- 本文講解力扣344. 反轉字符串問題
- 也就是使用雙指針的思想
- 很簡單的一道題
1 題目
編寫一個函數,其作用是將輸入的字符串反轉過來。輸入字符串以字符數組 char[] 的形式給出。
不要給另外的數組分配額外的空間,你必須原地修改輸入數組、使用 O(1) 的額外空間解決這一問題
你可以假設數組中的所有字符都是 ASCII 碼表中的可打印字符。
2 示例
3 思路分析
- 使用 前后雙指針;L 在首位; R 在 尾部
- L R 指向的字符串交換位置;
- 隨后 L 后移,R 前移;繼續交換
- 重復上述步驟,直到 L在R右邊或者重合為止
4 代碼
class Solution { public:void reverseString(vector<char>& s) {int R = s.size() - 1;int L = 0;while (L < R) {s[L] ^= s[R];s[R] ^= s[L];s[L] ^= s[R];L ++;R --;}} }; 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的双指针算法 | 力扣344. 反转字符串的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 双指针算法之滑动窗口 | 力扣76.最小
- 下一篇: 岛屿类-网格类问题-DFS | 力扣20