佛山外贸网站建设资讯,wordpress留言板自定义,做不规则几何图形的网站,淘宝网站建设可以申请赔款题目#xff1a;
1657. 确定两个字符串是否接近
如果可以使用以下操作从一个字符串得到另一个字符串#xff0c;则认为两个字符串 接近 #xff1a;
操作 1#xff1a;交换任意两个 现有 字符。 例如#xff0c;abcde - aecdb操作 2#xff1a;将一个 现有 字符的…题目
1657. 确定两个字符串是否接近
如果可以使用以下操作从一个字符串得到另一个字符串则认为两个字符串 接近
操作 1交换任意两个 现有 字符。 例如abcde - aecdb操作 2将一个 现有 字符的每次出现转换为另一个 现有 字符并对另一个字符执行相同的操作。 例如aacabb - bbcbaa所有 a 转化为 b 而所有的 b 转换为 a
你可以根据需要对任意一个字符串多次使用这两种操作。
给你两个字符串word1 和 word2 。如果 word1 和 word2 接近 就返回 true 否则返回 false 。
示例 1
输入word1 abc, word2 bca
输出true
解释2 次操作从 word1 获得 word2 。
执行操作 1abc - acb
执行操作 1acb - bca示例 2
输入word1 a, word2 aa
输出false
解释不管执行多少次操作都无法从 word1 得到 word2 反之亦然。
示例 3
输入word1 cabbba, word2 abbccc
输出true
解释3 次操作从 word1 获得 word2 。
执行操作 1cabbba - caabbb
执行操作 2caabbb - baaccc
执行操作 2baaccc - abbccc示例 4
输入word1 cabbba, word2 aabbss
输出false
解释不管执行多少次操作都无法从 word1 得到 word2 反之亦然。提示
1 word1.length, word2.length 105word1 和 word2 仅包含小写英文字母
解答 代码
class Solution {public boolean closeStrings(String word1, String word2) {int[] count1new int[26],count2new int[26];for(char c:word1.toCharArray()){count1[c-a];}for(char c:word2.toCharArray()){count2[c-a];}for(int i0;i26;i){if(count1[i]0count2[i]0||count1[i]0count2[i]0){return false;}}Arrays.sort(count1);Arrays.sort(count2);return Arrays.equals(count1,count2);}
}
结果