题目:3146. 两个字符串的排列差
方法一:string自带的find()函数
class Solution {
public:
int findPermutationDifference(string s, string t) {
int ans=0;
for(int i=0;i<s.size();i++){
int idx=t.find(s[i]);
ans+=abs(i-idx);
}
return ans;
}
};
方法二:哈希表
class Solution {
public:
int findPermutationDifference(string s, string t) {
int ans=0;
int a[30];
for(int i=0;i<s.size();i++){
a[s[i]-'a']=i;
}
for(int i=0;i<t.size();i++){
ans+=abs(a[t[i]-'a']-i);
}
return ans;
}
};