方式一:
將字串反向輸出來,不改變記憶體(
遞迴實現)
void reverse_string(char *str)
}
方式二
:改變記憶體(
交換法)
/*非遞迴實現:操作記憶體*/
char *reverse_string1(char *str)
/*while迴圈之後,right指向'\0',right--之後,指向最後乙個非'\0'字元*/
right--;
/*左右對稱的兩個元素交換*/
char temp;
while(left < right)
return str;
}
方式三:
改變記憶體(
遞迴實現
)
/*遞迴實現:操作記憶體*/
/*遞迴每呼叫一次:要反轉的字串頭和尾各減少乙個*/
char *reverse_string2(char *str)
char temp;
/*當字串至少存在兩個非'\0'字元時才用的到反轉*/
if(lenth > 1)
return str;
}
測試:
#include#includeusing namespace std;
/*遞迴實現:操作記憶體*/
/*遞迴每呼叫一次:要反轉的字串頭和尾各減少乙個*/
char *reverse_string2(char *str)
char temp;
/*當字串至少存在兩個非'\0'字元時才用的到反轉*/
if(lenth > 1)
return str;
}/*非遞迴實現:操作記憶體*/
char *reverse_string1(char *str)
/*while迴圈之後,right指向'\0',right--之後,指向最後乙個非'\0'字元*/
right--;
/*左右對稱的兩個元素交換*/
char temp;
while(left < right)
return str;
}void reverse_string(char *str)
}int main()
{ char str1 = "abcdefgh";
char str2 = "abcdefgh";
char str3 = "abcdefgh";
cout<
python反轉字串的幾種方式
class stringreverse object 1.切片操作 defstring reverse 1 self,s return s 1 2.轉換成list,再reverse,之後重組字串 defstring reverse 2 self,s s list list s s list.reve...
幾種方法實現「反轉字串」
今天遇到一道題目是實現乙個反轉字串的函式,具體如下 編寫乙個函式,其作用是將輸入的字串反轉過來。輸入字串以字元陣列 char 的形式給出。不要給另外的陣列分配額外的空間,你必須原地修改輸入陣列 使用 o 1 的額外空間解決這一問題。你可以假設陣列中的所有字元都是 ascii 碼表中的可列印字元。示例...
實現字串反轉
package exercise 實現乙個字串中字元順序的反轉 author lsq public class stringinversedemo 方法一 把字串轉換成字元陣列,然後遍歷字元陣列,注意這裡從字元陣列的角標從高向低遍歷。public static string reverse1 str...