【問題描述】
給定兩個字串s和t,每一次處理將從兩個字串中任選乙個,刪除第乙個字元(也就是最左邊字元),顯然刪除後字串的長度減1,當然不能再從乙個空字串中去刪除。
例如:對字串"where"處理後,結果為"here";對字串"a"處理後,結果為""。
我們需要在經過最少次數的處理後,使得兩個字串相等。當然,經過處理後,兩個字串都可能為空串,這也是相等的,在這種情況下,答案很顯然是兩個字串最開始時的長度之和。
程式設計求能使得兩個字串相等的需要處理的最小次數。
【輸入形式】
輸入為兩行,分別為需要進行處理的兩個字串s和t,兩個字串均有小寫字母組成。
【輸出形式】
輸出需要處理的最小次數。
【樣例輸入】
test
west
【樣例輸出】
2解題思路:
將陣列倒轉過來,從頭比較相等的對數,即可得到最小刪除數
需要用到:reverse()函式
#include
#include
//reverse包含的標頭檔案
#include
using
namespace std;
intmain()
}int same = sum *2;
//相同字元的個數
int result = alength + blength - same;
//要刪除的字元
cout << result;
return0;
}
字串左刪除
問題描述 給定兩個字串s和t,每一次處理將從兩個字串中任選乙個,刪除第乙個字元 也就是最左邊字元 顯然刪除後字串的長度減1,當然不能再從乙個空字串中去刪除。例如 對字串 where 處理後,結果為 here 對字串 a 處理後,結果為 我們需要在經過最少次數的處理後,使得兩個字串相等。當然,經過處理...
字串左刪除
問題描述 給定兩個字串s和t,每一次處理將從兩個字串中任選乙個,刪除第乙個字元 也就是最左邊字元 顯然刪除後字串的長度減1,當然不能再從乙個空字串中去刪除。例如 對字串 where 處理後,結果為 here 對字串 a 處理後,結果為 我們需要在經過最少次數的處理後,使得兩個字串相等。當然,經過處理...
C 字串左刪除
問題描述 給定兩個字串s和t,每一次處理將從兩個字串中任選乙個,刪除第乙個字元 也就是最左邊字元 顯然刪除後字串的長度減1,當然不能再從乙個空字串中去刪除。例如 對字串 where 處理後,結果為 here 對字串 a 處理後,結果為 我們需要在經過最少次數的處理後,使得兩個字串相等。當然,經過處理...