lintcode--字符串置换

来源:互联网 发布:mac vi怎么保存退出 编辑:程序博客网 时间:2024/06/01 10:39

给定两个字符串,请设计一个方法来判定其中一个字符串是否为另一个字符串的置换。

置换的意思是,通过改变顺序可以使得两个字符串相等。

样例

"abc" 为 "cba" 的置换。

"aabc" 不是 "abcc" 的置换。




public class Solution {
    public boolean stringPermutation(String A, String B) {
        // Write your code here
        if(A==null && B==null)
            return true;
        if(A==null || B==null)
            return false;
        if(A.length() !=B.length())
            return false;
        int[] C = new int[256];
        
        for(int i=0;i<A.length();i++){
            char c1 = A.charAt(i);
            char c2 = B.charAt(i);
            C[c1]++;//C[a]++;
            C[c2]--;//C[c]--;
        }
        for(int i=0;i<256;i++){
            if(C[i]!=0)
                return false;
        }
        return true;
    }
}

原创粉丝点击