参加某公司的在线编程测试,遇见了这样的一个题目,现在拿出来与大家分享。
题目大意
输入两个长度相等的数字字符串,定义三种操作:加一,减一,交换两个数字的位置。要求输出将第一个数字字符串转换为第二个字符串需要的操作数。比如:输入123 ,432,则需要输出:4. 即:123->321->421->431->432.
可惜时间有点紧张,代码逻辑各种错误,提交完答案后才想出来怎么做
#include <iostream>
#include <math.h>
#include <string>
using namespace std;
// 该函数通过递归调用的方法求取操作数。输入:需要比较的字符串。输出:需要移动的次数。
int fun(string s1, string s2) {