[关闭]
@snuffles 2019-04-11T10:35:07.000000Z 字数 568 阅读 771

L344 反转字符串

字符串


编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。
不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。
你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。
示例 1:
输入:["h","e","l","l","o"]
输出:["o","l","l","e","h"]

解:从两头往中间走

  1. void reverseString(vector<char>& s) {
  2. int left=0,right=s.size()-1;
  3. while(left<right){
  4. swap(s[left++],s[right--]);
  5. }
  6. }
  7. void reverseString(vector<char>& s) {
  8. int len = s.size();
  9. int i=0;
  10. int count = len/2;
  11. while(count--){
  12. swap(s[i],s[len-1-i]);
  13. i++;
  14. }
  15. }
  1. void reverseString(vector<char>& s) {
  2. char tmp;
  3. int size = s.size();
  4. int loop = 0;
  5. while( loop < size/2){
  6. tmp = s[loop];
  7. s[loop] = s[size - 1 - loop];
  8. s[size - 1- loop] = tmp;
  9. loop++;
  10. }
  11. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注