判定是否互为字符重排

90 阅读1分钟
package org.example.type.string;  
  
import java.util.Arrays;  
//判定是否互为字符重排  
//输入: s1 = "abc", s2 = "bca"  
//输出: true  
public class CheckPermutationSolution {  
    public boolean CheckPermutaion(String s1,String s2){  
        if(s1.length()!=s2.length())return false;  
        int[] table = new int[128];  
        for (int i = 0; i <s1.length() ; i++) {  
            table[s1.charAt(i)]++;  
        }  
        for (int i = 0; i <s2.length() ; i++) {  
            table[s2.charAt(i)]--;  
            if(table[s2.charAt(i)]<0)return false;  
        }  
        return true;  
    }  

    public boolean CheckPermutationTwo(String s1,String s2){  
        if(s1.length()!=s2.length())return false;  
        char[] str1=s1.toCharArray();  
        char[] str2=s2.toCharArray();  
        Arrays.sort(str1);  
        Arrays.sort(str2);  
        return Arrays.equals(str1,str2);  
    }  
}