要求:给定两个字符串,请设计一个方法来判定其中一个字符串是否为另一个字符串的置换。
置换的意思是,通过改变顺序可以使得两个字符串相等。
样例
"abc"
为 "cba"
的置换。
"aabc"
不是 "abcc"
的置换。
思路:如果两个字符串中有一个为null,为false;如果两个字符串的长度不一样,也是false;接着,把两个string字符串转换为两个char数组,然后把数组每个值转为int相加,即使顺序不同,但是他们相加的int是一样的。
public class Solution {
/**
* @param A a string
* @param B a string
* @return a boolean
*/
public boolean stringPermutation(String A, String B) {
// Write your code here
if (A == null || B == null)
return false;
char[] arrA = A.toCharArray();
char[] arrB = B.toCharArray();
int a = 0;
int b = 0;
if (arrA.length != arrB.length)
return false;
for (int i = 0; i < arrA.length; i++)
{
a += arrA[i];
b += arrB[i];
}
if (a == b)
return true;
return false;
}
}