解法一
统计每个字符串中各个字母的数量,对两个字符串各个字母数量差的绝对值求和。在最小步骤的情况下,每一次更改应将S相对于T的某个多余的字母换成某个缺少的字母,这样每次差距值就减少2,总差值除以2就是步骤数。
class Solution {
public int minSteps(String s, String t) {
// S、T中各类字母的数量
int[] countS = new int[26];
int[] countT = new int[26];
int i;
for (i = 0; i < s.length(); ++i) {
++countS[s.charAt(i) - 97];
++countT[t.charAt(i) - 97];
}
int ans = 0;
for (i = 0; i < 26; ++i) {
ans += Math.abs(countS[i] - countT[i]);
}
return ans / 2;
}
}