合併兩個字串的重疊部分

2021-06-11 19:49:15 字數 865 閱讀 1757

前言:

今天專案開發中,遇到需要將兩個字串重疊部分進行合併並返回合併結果,比如,56、67則返回567,abc、bcd則返回abcd,111、222則返回null;

本來想在網上找類似的實現**,可搜尋了好久也沒找到合適的,於是決定自己實現,畢竟也不難。

實現過程:

/**

* @title: getoverlapstring

* @description: 獲取合併兩個字串的重疊部分並返回結果,沒有重疊則返回null* 比如:56、67則返回567,56、89則返回null

* @param str1 前合併串

* @param str2 後合併串

* @return 有重疊串則返回合併結果,沒有則返回null

*/public static final string getoverlapstring(string str1,string str2)

for (int j = 1; j < str1.length() - i; j++) else}}

} if(index == -1)else

return result;

}

應用舉例:system.out.println(getoverlapstring("abc","cdaa");

輸出:abcdaa

system.out.println(getoverlapstring("123","2344");

輸出:12344

system.out.println(getoverlapstring("abc","daa");

輸出:null

連線兩個字串

include include void main char lianjie char a 30 char b 30 原型 extern char strcat char dest,char src 用法 include 功能 把src所指字串新增到dest結尾處 覆蓋dest結尾處的 0 並新增 ...

交換兩個字串

交換兩個字串,原來的字串分別為 學生 和 好 字串輸出顯示為 學生好 交換後輸出顯示為 好學生 include using namespace std int main char c1 5 學生 char c2 3 好 char m,n,t m c1 n c2 cout 交換前 m n n t co...

兩個字串相乘

先附上一張演算法圖 解釋 123 456 首先拿出1和456相乘,儲存到陣列1 2 3 的位置,然後拿出2和456相乘2 3 4的位置,依次類推,直到第乙個字串遍歷完 然後將他們相加,依次存到陣列中 實現如下 int j 0 int resindex 0 for int i 0 i然後再考慮進製,需...