char* pStr1, char* pStr2, size_t row, size_t col){if(pStr1 == NULL || pStr2 == NULL)return;size_t length1 = strlen(pStr1);size_t length2 = strlen(pStr2);if(length1 == 0 || length2 == 0 || !(row < length1 && col < length2))return;// kLeftUp implies a char in the LCS is foundif(LCS_direction[row][col] == kLeftUp){if(row > 0 && col > 0)LCS_Print(LCS_direction, pStr1, pStr2, row - 1, col - 1);// print the charprintf("%c", pStr1[row]);}else if(LCS_direction[row][col] == kLeft){// move to the left entry in the direction matrixif(col > 0)LCS_Print(LCS_direction, pStr1, pStr2, row, col - 1);}else if(LCS_direction[row][col] == kUp){// move to the up entry in the direction matrixif(row > 0)LCS_Print(LCS_direction, pStr1, pStr2, row - 1, col);}}扩展:如果题目改成求两个字符串的最长公共子字符串,应该怎么求?子字符串的定义和子串的定义类似,但要求是连续分布在其他字符串中。比如输入两个字符串BDCABA和ABCBDAB的最长公共字符串有BD和AB,它们的长度都是2。