**
Lintcode 211 :字符串置换
**
题干描述:
给定两个字符串,请设计一个方法来判定其中一个字符串是否为另一个字符串的置换。
置换的意思是,通过改变顺序可以使得两个字符串相等。
样例:
“abc” 为 “cba” 的置换。
“aabc” 不是 “abcc” 的置换。
分析:
因为我们需要判断两个字符串中是否可以通过一定的排序,来使得二者相同,而且并不需要同时移动,问题就可以转换为:
我们只需要判断两个字符串的成员字符且个数是否完全相同就可以。
所以我们可以将两个字符串转换为字符数组,将其进行排序,检测排序完成后的字符串是否相等。
public class Solution
{
public boolean Permutation(String A, String B)
{
char temp;
char[] c = A.toCharArray();
char[] d = B.toCharArray();
Arrays.sort(c);
Arrays.sort(d);
String str1 = new String(c);
String str2 = new String(d);
return(str1.equals(str2));
}
}