字串反轉 包含 全排列 最長回文子串

2021-07-23 10:02:47 字數 1236 閱讀 7533

問題描述:

字串abcdefgh ------> cdefghabc

**:#include

#include

void backchange(char *str,int from,int to)

}void strchange(char * str,int m , int n)

int main()

2.字串包含

輸入:字串1,字串2

輸出,字串1是否包含字串2的所有字元

**:#include

#include

int partition(char *str, int low, int high)

str[low] = tmp;

return low;

}void qsort(char * str,int low, int high)

}int ifinclude(char *str1,char* str2)

}if(j == strlen2)

}int main()

else printf("not include\n");

}3.字元的全排列

例子:abc

全排列:

abcabc

acbbac

bcacba

cab#include

#include

void swap(char *tmp1,char *tmp2)

void printfullarray(char * str,int from,int to)

else}}

int main()

4 求最長回文子串行(馬拉車演算法)

#include

#include

int changetonewstr(char * str1,char*str2, int len)

return j;

}int min(int a,int b)

void  getmaxstr(char * str, int len, int * p)

else 

while(str[i-p[i]] == str[i+p[i]]) p[i]++;

if(mx < p[i]+i)}}

void printmax(int * p, char *str, int len)

}for(i = tmp - max +1;i

printf("\n");

}int main()

字串 最長回文子串

最長回文子串 回文子串 即正著看和倒著看相同的子串,如 abcba yyxyy。由於此類題目為面試筆試常考題目,所以現在就來整理一下啦。1 暴力求解法 最直接的想法就是暴力求解,但是我們可以看到下面的 時間複雜度是o n 3 string findlongeststring string str 暴...

字串 最長回文子串

介紹一下幾個概念 就是從左往右和從右往左讀是一樣的。就如標語 我為人人,人人為我 子串,顧名思義,就是在原字串中的子集,就叫子串。串就是不能分割的,就是連在一起,這個要區別與子串行,子串行就是一段 一段的。列舉各個起點和終點,然後進行判斷該子串是否為回文,最後就是更新最長的回文串。列舉起點和終點 o...

字串 最長回文子串

給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。示例 1 輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。示例 2 輸入 cbbd 輸出 bb 思路 用manacher class solution int max 1 int res 0 儲存最...