判断两个字符串是否互为变形词

题目描述:

给定两个字符串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 }

欢迎评论,共同进步!!

原文地址:https://www.cnblogs.com/hengzhezou/p/11059968.html