反轉字串,但指定的子串不翻轉 C語言

2021-10-03 05:29:12 字數 1187 閱讀 6846

首先把整個字串反轉過來,然後用查詢子串的函式找到子串,再翻轉回來

char * mystrstr(char * str, char * sub)

char * p = null, * q = null, * c = null;

int found = 0;

p = str;

while(*p != '\0')

if('\0' == *q)

p++;

} if(1 == found) else

}int strreverse(char * head, char * tail)

char tmp;

while(head < tail)

return success;

}int strreverswithoutsubstr (char * str, char * substr)

int len = 0, sublen = 0;

char * head = null, * tail = null;

char * p = null, * q = null;

/*1. 整個字串顛倒*/

len = strlen(str);

head = str;

tail = str + len - 1;

strreverse(head, tail);

/*2. 把子串顛倒*/

len = strlen(substr);

head = substr;

tail = substr + len - 1;

strreverse(head, tail);

/*3. 把子串顛倒回來*/

sublen = strlen(substr);

head = mystrstr(str, substr);

tail = head + sublen - 1;

strreverse(head, tail);

}void testreverse(void)

gcc main.c str.c -g -o a.exe

************  testreverse ************

reverse string without substr is : !gnijieb from si gnef

反轉字串,但其指定的子串不反轉

問題 給定乙個字串,乙個這個字串的子串,將第乙個字串反轉,但保留子串的順序不變。輸入 第乙個字串 welcome you,my friend 子串 you 輸出 dneird ym you emoclew 分析 1,掃瞄一遍第乙個字串,然後用stack把它反轉,同時記錄下子串的出現的位置 2,掃瞄一...

PHP如何實現字串反轉 php翻轉字串

php翻轉字串,在一些面試題中經常會出現的考點。php中翻轉字串自帶strrev 函式實現,也可以不使用php內建函式,自己用for迴圈配合mb substr 或str split 來實現同樣的功能。一 strrev 翻轉字串 str hello world echo strrev str 二 fo...

字串反轉,但單詞不倒置

這並不是簡單的字串反轉,而是按給定字串裡的單詞將字串倒轉過來,就是說字串裡面的單詞還是保持原來的順序,這裡的每個單詞用空格分開。例如 here is www.zhuxinquan.com 經過反轉後變為 www.zhuxinquan.com is here 如果只是簡單的將所有字串翻轉的話,可以遍歷...