题目描述:
给定两个字符串str1和str2,如果str1和str2中出现的字符种类一样且每种字符出现的次数也一样,那么str1与str2互为变形词。请实现函数判断两个字符串是否互为变形词。
举例:
str1=“123” ,str2=“231”,返回true
str1=“123” ,str2=“2331”,返回false
代码如下:
1 public class Solution { 2 public boolean isDeformation(String s1,String s2) { 3 if (s1==null||s2==null||s1.length()!=s2.length()) { 4 return false; 5 } 6 char[] ch1=s1.toCharArray(); 7 char[] ch2=s2.toCharArray(); 8 int[] num=new int[256]; 9 for (int i=0; i<ch1.length; i++) { 10 num[ch1[i]]++; 11 } 12 for (int i=0; i<ch2.length; i++) { 13 num[ch2[i]]--; 14 if (num[ch2[i]]<0) { 15 return false; 16 } 17 } 18 return true; 19 } 20 public static void main(String[] args) { 21 Solution s=new Solution(); 22 boolean re=s.isDeformation("123","2331"); 23 System.out.println(re); 24 } 25 }
欢迎评论,共同进步!!