目錄
求兩個字串的交集,看似簡單,實則需要考慮的細節很多。
我的思路:
1.將兩個字串簡化,將裡面重複的字母減少為乙個。
2.拼接兩個字串,借助迴圈把重複出現兩次的字元找出來。
有了思路開始寫**。
思路:1.定義兩個儲存字串的陣列tt[m],pp[m]
2.定義指標*p接收fun2() 返回值,輸出交集
3.輸入兩個字串(此處注意越界問題)
4.呼叫函式
5.輸出交集
#include
#include //用到strcat(),strlen()函式
#define m 50
void fun1(char tt); //將字串中相同的字母去掉
char *fun2(char tt); //將重複的(子集)找出來
int main()
return 0;
}fun1()作用是將字串中重複的字元只保留乙個
思路:1.先將重複出現的字元出去第一次出現那個都換成' '(此處為乙個空格)
2.在將字串陣列元素移動,去除' '(空格)
void fun1(char tt) //將重複的程式設計客棧字元抹掉
{ int i,j;
char ch;
for(i=0;i程式設計客棧)
{if(tt[i]==' ') //找到' '位置
{
for(j=i;j
fun2()將重複出現的字元挑出來
思路:1.找到相同字元,並儲存在static aa[m]中www.cppcns.com(小重點)
2.返回第乙個字元的位址
www.cppcns.comchar *fun2(char tt) //確定子集字串,返回字串第乙個字元的位址
{ int i,j,k;
char ch;
static char aa[m]; //靜態變數,保證呼叫函式結束後陣列還在
char *p;
k=0;
for(i=0;i
這個**任然後缺陷,因為用這個**求得兩個字串的交集永遠不會出現空格。
其他思路推薦:
先在第乙個字串中確定乙個字元,在第二個字串中查詢是否存在hakkyaizrx相同字串
這條思路特要注意字串中字元重複出現帶來的影響
求兩個字串的距離
給定兩個長度相等的,由小寫字母組成的字串s1和s2,定義s1和s2的距離為兩個字串有多少個位置上的字母不相等。現在牛牛可以選定兩個字母x1和x2,將s1中的所有字母x1均替換成x2。x1和x2可以相同 牛牛希望知道執行一次替換之後,兩個字串的距離最少為多少。x1和x2是自己求的,未知 輸入 aaa ...
C語言連線兩個字串
一種是使用c語言自帶的strcat函式來完成,strcat str1,str2 可以將str2指定的字串連線到str1指定的字串後面,結果儲存在指定的字元陣列中,str1指定的字串原來最後面的 0 被取消。因為要把str2接在str1後面,所以應該多給str1分配一些記憶體。include incl...
C 兩個字串相加
題意 given two binary strings,return their sum also a binary string for example,a 11 b 1 return 100 思路 思路 對於兩個string a,b從後往前取值,若取值為空則賦值為0.設定進製符號flag 若a ...