日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

算法小记 · 字符串翻转

發(fā)布時間:2025/7/14 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 算法小记 · 字符串翻转 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

寫一個函數(shù),實現(xiàn)翻轉(zhuǎn)字符串的功能,并考慮時間復(fù)雜度、空間復(fù)雜度,使其盡可能最小

1. 字符串翻轉(zhuǎn):請把"I am a student.",翻轉(zhuǎn)成".tneduts a ma I";

吾來打個樣:

#include <stdio.h> void reverseCharArray(char *str, char *begin, char *end) {while(begin < end) { //取地址,交換兩個字符char temp = *begin;*begin = *end;*end = temp;begin++;end--;} }char *reverse_str(char *str) {if(NULL == str) { //字符串為空直接返回;return str;}char *begin;char *end;begin = end = str;while(*end != '\0') { //end指向字符串的末尾;end++;}--end; //取出最后一個'.'字符;//取字符數(shù)組下標(biāo),進行交換;reverseCharArray(str, begin, end);return str; //返回結(jié)果; }int main(int argc, const char * argv[]) {char str[] = "I am a student.";printf("%s\n", reverse_str(str));return 0; }

2. 字符串翻轉(zhuǎn):請把 "I am a student.",翻轉(zhuǎn)成 "I ma a .tneduts";

吾來打個樣:

#include <stdio.h> void reverseCharArray(char *str, char *begin, char *end) {while(begin < end) { //取地址,交換兩個字符char temp = *begin;*begin = *end;*end = temp;begin++;end--;} }char *reverseChar(char *str) {char *begin;char *end;begin = end = str;while (*end != '\0') {if (*end == ' ') {reverseCharArray(str, begin, end - 1);begin = end + 1;}else if (*(end + 1) == '\0') { //當(dāng)*(end + 1)取出的是字符串?dāng)?shù)組最后的'\0'的時候reverseCharArray(str, begin, end);}end++;}return str; }int main(int argc, const char * argv[]) {char str[] = "I am a student.";printf("%s\n", reverseChar(str));return 0; }

3. 字符串翻轉(zhuǎn):請把 "I am a student.",翻轉(zhuǎn)為 "student. a am i";

吾來打個樣:

#include <stdio.h> void reverseCharArray(char *str, char *begin, char *end) {while(begin < end) { //取地址,交換兩個字符char temp = *begin;*begin = *end;*end = temp;begin++;end--;} }char *reverseChar(char *str) {char *begin;char *end;begin = end = str;while (*end != '\0') {if (*end == ' ') {reverseCharArray(str, begin, end - 1);begin = end + 1;}else if (*(end + 1) == '\0') { //當(dāng)*(end + 1)取出的是字符串?dāng)?shù)組最后的'\0'的時候reverseCharArray(str, begin, end);}end++;}return str; }int main(int argc, const char * argv[]) {char str[] = "I am a student.";char *begin;char *end;begin = end = str;while(*end != '\0') { //end指向字符串的末尾;end++;}--end; //取出最后一個'.'字符;reverseCharArray(str, begin, end);printf("%s\n", reverseChar(str));return 0; }

總結(jié)

以上是生活随笔為你收集整理的算法小记 · 字符串翻转的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。