C++ 带向量和正斜杠的字符串算法
我遇到了一个简单的问题:C++ 带向量和正斜杠的字符串算法,c++,string,vector,C++,String,Vector,我遇到了一个简单的问题: string minEditOperations(vector<vector<int>> DPTable, string firstString, string secondString) { //second string is what first string needs to be changed into, the DPTable function is flipped int rowIterator =
string minEditOperations(vector<vector<int>> DPTable, string firstString, string secondString)
{
//second string is what first string needs to be changed into, the DPTable function is flipped
int rowIterator = firstString.size() , columnIterator = secondString.size();
string output;
while (rowIterator > 0 && columnIterator > 0)
{
if (firstString[rowIterator - 1] == secondString[columnIterator - 1])
{
//Keep
columnIterator--;
rowIterator--;
output = '^' + output;
}
else
{
//Calculate the different values
int mincompare = min(DPTable[rowIterator - 1][columnIterator - 1], min(DPTable[rowIterator][columnIterator - 1], DPTable[rowIterator - 1][columnIterator]));
if (DPTable[rowIterator - 1][columnIterator - 1] == mincompare)
{
output = "/" + firstString[rowIterator] + output;
}
else if (DPTable[rowIterator -1][columnIterator] == mincompare)
{
output = "-" + output;
}
else
{
//Right
//Insert
output = "+" + firstString[columnIterator] + output;
columnIterator--;
}
}
}
return output;
}
有人能解释一下吗?这个问题似乎是由于试图将字符串添加到char值(因为firstString[roweiterator]是一个char)而引起的 试着这样做:
output = "/" + string(1, firstString[rowIterator]) + output;
这基本上是从一个字符创建一个长度为1的字符串。您能发布更多的代码吗?仅凭那句话很难理解。完成了,谢谢@雅各布威斯布拉特
output = "/" + string(1, firstString[rowIterator]) + output;