leetcode-删除公共字符-70

Posted 天津 唐秙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode-删除公共字符-70相关的知识,希望对你有一定的参考价值。

题目要求
  输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”

思路
  输入两个字符串,最多循环str2.size()次,从str2的尾部字符同str1中的字符遍历,如果有相同的,就把str1中对应的字符删掉,一轮遍历完,把str2中的尾部字符删掉,目的是为了让外层的while循环可以结束,最后把str1的内容打印出来。

代码实现

#include <iostream>
#include <string>

using namespace std;

int main()
{
	string str1;
	string str2;
	getline(cin, str1);
	getline(cin, str2);
	
	while (str2.size())
	{
		for (int i = 0; i < str1.size(); i++)
		{
			if (str1[i] == str2[str2.size() - 1])
			{
				str1.erase(i, 1);
				i--;
			}
		}
		str2.pop_back();
	}
	cout << str1 << endl;

	return 0;
}

以上是关于leetcode-删除公共字符-70的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode#583-两个字符串的删除操作-求最大公共子序列

LeetCode 1143 最长公共子序列

LeetCode #1143 最长公共子序列

《LeetCode之每日一题》:106.最长公共子序列

leetCode热题40-45 解题代码,调试代码和思路

Leetcode刷题Python1143. 最长公共子序列